ca9*_*3d9 2 windows powershell adsi active-directory
在以下脚本中,它将打印组的所有用户。但是,域名丢失了(某些用户位于不同的Windows域中)?
$computer = [ADSI]"WinNT://$server,computer"
$computer.psbase.children | ? {
$_.psbase.schemaClassName -eq 'group'
} | % {
$gn = $_.name.ToString()
write-host $gn
write-host "------"
$group =[ADSI]$_.psbase.Path
$group.psbase.Invoke("Members") | % {
$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)
}
}
Run Code Online (Sandbox Code Playgroud)
尝试获取SID而不是名称,然后将其转换回用户名:
$computer.psbase.children | ? {
$_.psbase.schemaClassName -eq 'group'
} | % {
$gn = $_.name.ToString()
write-host $gn
write-host "------"
$group =[ADSI]$_.psbase.Path
$group.psbase.Invoke("Members") | % {
$bytes = $_.GetType().InvokeMember('objectSid', 'GetProperty', $null, $_, $null)
$sid = New-Object Security.Principal.SecurityIdentifier ($bytes, 0)
$sid.Translate([Security.Principal.NTAccount])
}
}Run Code Online (Sandbox Code Playgroud)
结果应包括计算机或域名。
| 归档时间: |
|
| 查看次数: |
1556 次 |
| 最近记录: |