首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >列出本地机器组的所有成员。

列出本地机器组的所有成员。
EN

Stack Overflow用户
提问于 2022-08-08 11:33:15
回答 1查看 95关注 0票数 0

下面的当前脚本可以工作,但它会在一行中显示成员。我希望每个成员表格式有一行。

代码语言:javascript
运行
复制
$script = {
    $groups = Get-CimInstance win32_group -filter "domain='$($env:computername)'"
    foreach ($group in $groups) {
    Get-CimInstance win32_groupuser -filter "GroupComponent=""Win32_Group.Domain='$($env:computername)',Name='$($group.Name)'""" 
    } 
}
$output = Invoke-Command -ComputerName $servers.Name -ScriptBlock $script -ErrorAction SilentlyContinue
$output | Group PSComputerName,GroupComponent | Foreach-Object {
    [pscustomobject]@{
    Server = $_.Group[0].PSComputerName
    Group = $_.Group[0].GroupComponent.Name
    Members = $_.Group.PartComponent.Name -join '|'
    }
} | Export-Csv "C:\Users\someuser\Documents\PowerShell\AccessOutput5.csv" -NoType 

结果如下

代码语言:javascript
运行
复制
"DummyServer","Administrators","Wintel4OPS|LocalIs|Domain Admins|Win_EP_Accounts|Win_EP_Admin_USA|Win_EP_Eng|Win_EP_Delivery_Svc"
"DummyServer","Backup Operators","MSSQLSERVER"
"DummyServer","Event Log Readers","NETWORK SERVICE"
"DummyServer","Guests","UHT-Guest"
"DummyServer","IIS_IUSRS","IUSR"
"DummyServer","Performance Log Users","jdoe"
"DummyServer","Performance Monitor Users","MSSQLSERVER|SQLSERVERAGENT"
"DummyServer","Users","INTERACTIVE|Authenticated Users|Domain Users|CLIUSR"
"DummyServer","Guardium Services","LOCAL SERVICE"
"DummyServer","SQLServer2005SQLBrowserUser$DummyServer","SQLBrowser"
"DummyServer","SQLServerHADRUser$MSSQLSERVER","MSSQLSERVER"

当您有200+服务器时,这是很难理解的。如何更改当前脚本,以便每个成员服务器名称和组都有一行重复,这很好。

期望输出

代码语言:javascript
运行
复制
"DummyServer","Administrators","Wintel4OPS" 
"DummyServer","Administrators","LocalIs"
"DummyServer","Administrators","Domain"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 16:20:22

与其用member字符连接每个|,不如为$_.Group.PartComponent.Name中的每个对象运行一个foreach循环。

代码语言:javascript
运行
复制
$output | Group PSComputerName,GroupComponent | Foreach-Object {
    foreach ($member in $_.Group.PartComponent.Name)
    {
        [pscustomobject]@{
            Server = $_.Group[0].PSComputerName
            Group = $_.Group[0].GroupComponent.Name
            Members = $member
        }
    }
} | Export-Csv "C:\Users\someuser\Documents\PowerShell\AccessOutput5.csv" -NoType 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73277214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档