You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

用于统计本地用户的PowerShell脚本编写与问题咨询

原脚本存在的问题
  • 状态判断逻辑失效:Get-LocalUser返回的Enabled属性是原生布尔值($true/$false),不是字符串类型的'true'/'false',原写法中$user.Enabled -eq 'false'永远不会成立,导致非活跃用户完全无法被识别
  • 计数逻辑错误:非活跃用户计数时错误将用户对象本身累加到计数变量,而非累加数值1;同时存在变量名拼写错误,输出时使用的$inactif和预先定义的$inactiv不匹配,会直接输出空值
  • 索引逻辑冗余错位:foreach遍历本身不需要手动维护数组索引$i,且原脚本中匹配到活跃用户时不会对$i做递增,会导致索引取值完全错位
  • 输出逻辑不合理:原脚本每匹配到一个非活跃用户就输出一次临时累计值,遍历结束后没有统一的汇总结果,也没有统计活跃用户的总数
修正后可直接运行的脚本
cls
# 获取本地所有用户账户
$users = Get-LocalUser
# 初始化计数变量
$activeCount = 0
$inactiveCount = 0

Write-Host "***** 本地账户状态统计 *****"
foreach ($user in $users) {
    if ($user.Enabled -eq $true) {
        $activeCount++
        Write-Host "账户 $($user.Name) 为活跃状态"
    }
    else {
        $inactiveCount++
        Write-Host "账户 $($user.Name) 为非活跃状态"
    }
}

# 输出最终汇总统计
Write-Host "`n===== 统计结果汇总 ====="
Write-Host "本地账户总数量:$($users.Count)"
Write-Host "活跃账户数量:$activeCount"
Write-Host "非活跃账户数量:$inactiveCount"
使用说明
  • 脚本可直接在PowerShell中运行,普通用户权限即可读取本地用户列表,部分系统受限环境需右键以管理员身份启动PowerShell后执行
  • 运行时会逐行展示每个本地账户的启用状态,全部遍历完成后自动输出总账户数、活跃/非活跃账户的汇总统计值

内容的提问来源于stack exchange,提问作者gixer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 17:25:33