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

如何通过PowerShell将Get-LocalGroupMembership输出处理为指定格式

问题:如何将本地管理员组成员格式化为「adm_user;srv1_user」格式输出

用户使用Get-LocalGroupMembership函数获取本地管理员组成员,$AdminGroups变量内容如下:

PS C:\Windows\system32> $AdminGroups

Name : adm_user
Depth : 1
ParentGroup : Administrators
Type : Local
Computername : hostname1
isGroup : False

Name : srv1_user
Depth : 1
ParentGroup : Administrators
Type : Domain
Computername : hostname1
isGroup : True

当前脚本无法实现目标输出,原脚本如下:

$AdminGroups = Get-LocalGroupMembership -Group 'Administrators' -Depth 1 

$Results =  foreach($AdminGroup in $AdminGroups){
      [PsCustomObject]@{ 

      Username = $AdminGroup.name -join '; ' 
      
      }

}

修改后的脚本

$AdminGroups = Get-LocalGroupMembership -Group 'Administrators' -Depth 1
# 提取所有成员的Name属性并拼接为分号分隔的字符串
$Results = $AdminGroups.Name -join ';'
# 输出结果
$Results

原脚本问题说明

原脚本错误地在循环中对单个成员的Name属性使用-join,单个字符串无法通过-join实现拼接,最终得到的是包含多个独立对象的数组,而非合并后的单一字符串。

正确逻辑是直接提取整个集合中所有成员的Name属性形成字符串数组,再通过-join ';'将数组元素拼接成目标格式的字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:07:31