我想与所有本地用户及其相关组(用户,高级用户,管理员等)一起生成报告。

我以这种方式获得用户:

$adsi = [ADSI]"WinNT://."
$adsi.psbase.children | where {$_.psbase.schemaClassName -match "user"} | select @{n="Name";e={$_.name}}

但我不知道如何找回他们的团体。提前致谢。

最佳答案

$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$adsi.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
    $groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
    $_ | Select-Object @{n='UserName';e={$_.Name}},@{n='Groups';e={$groups -join ';'}}
}

关于powershell - powershell-列出本地用户及其组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4548476/

10-12 00:52