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

为启用的本地管理员列表每行添加=>符号的PowerShell脚本问题

问题分析与解决

你的脚本核心问题出在循环逻辑:你在循环里把整个$EnabledLocalAdmin数组拼接到了前缀后,而非取当前索引对应的单个用户;同时$EnabledLocalAdmins变量未提前初始化,导致输出异常。

修正后的脚本方案

方案一:修复原循环逻辑

$isEnabled = (Get-LocalUser | Where-Object {$_.Enabled}).Name
$localAdminUsers = (Get-CimInstance Win32_GroupUser | where {$_.GroupComponent -like "*admini*"} | select -ExpandProperty PartComponent).Name
$EnabledLocalAdmin = $localAdminUsers | Where {$isEnabled -Contains $_}

# 初始化结果数组
$EnabledLocalAdmins = @()
for ($i=0; $i -lt $EnabledLocalAdmin.Count; $i++) {
    # 取当前索引的单个用户,添加前缀后存入结果数组
    $EnabledLocalAdmins += "=> " + $EnabledLocalAdmin[$i]
}

$EnabledLocalAdmins

方案二:更简洁的管道遍历方式

PowerShell更推荐用管道处理集合,代码更简洁易读:

$isEnabled = (Get-LocalUser | Where-Object Enabled).Name
$localAdminUsers = (Get-CimInstance Win32_GroupUser | 
    Where-Object GroupComponent -like "*admini*" | 
    Select-Object -ExpandProperty PartComponent).Name

# 直接遍历每个符合条件的用户,添加前缀
$EnabledLocalAdmin = $localAdminUsers | 
    Where-Object {$isEnabled -contains $_} | 
    ForEach-Object {"=> $_"}

$EnabledLocalAdmin

输出效果

执行修正后的脚本后,会得到你期望的输出:

=> Admin1
=> Admin2
=> Admin3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:47:02