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

如何修改PowerShell脚本:排除含admin账户并统计PC用户配置文件

PowerShell脚本修改方案:统计排除含admin字样的用户配置文件

你的原脚本存在几个关键问题,导致无法满足需求,以下是修正后的脚本及说明:

修正后的完整脚本

# 获取C:\Users目录下所有用户文件夹的名称
$userProfiles = Get-ChildItem -Path "C:\Users" -Directory | Select-Object -ExpandProperty Name

# 初始化符合条件的配置文件计数器
$validProfileCount = 0

# 遍历每个用户文件夹名称
foreach ($profile in $userProfiles) {
    # 排除名称中包含"admin"的账户(不区分大小写)
    if (-not ($profile -match 'admin')) {
        $validProfileCount++
    }
}

# 仅当有效配置文件数量≥5时输出结果
if ($validProfileCount -ge 5) {
    Write-Host "符合条件的用户配置文件数量(排除含admin字样的账户): $validProfileCount"
} else {
    Write-Host "当前PC符合条件的用户配置文件总数少于5,不输出统计结果。"
}

关键修改点说明

  • 修正循环语法:原脚本缺少foreach关键字,正确的遍历语法是foreach ($profile in $userProfiles)
  • 改进排除逻辑:用-match 'admin'实现不区分大小写的包含匹配,能覆盖所有名称含admin的账户(比如Administrator、LocalAdmin、userAdmin等),而原脚本的-contains只能精确匹配数组中的固定项
  • 重置计数初始值:原脚本初始count设为5是错误的,改为从0开始累加符合条件的配置文件数量
  • 增加数量判断:添加if ($validProfileCount -ge 5)逻辑,仅当有效数量不少于5时才输出统计结果,否则提示场景不满足

可选调整

如果需要严格区分大小写(仅排除小写admin的账户),可以将-match替换为-cmatch;如果要排除包含多个关键词的账户,可修改匹配规则为-match 'admin|administrator'(用竖线分隔多个关键词)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 19:20:53