如何使用Powershell列出域用户的用户权限和组成员身份?

时间:2011-10-20 13:36:20

标签: powershell

我想使用PowerShell列出域用户的所有Windows组成员身份。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

我不确定“列出所有用户权限”的确切含义 - 但您的域名中的群组成员资格很简单:

$de = New-Object System.DirectoryServices.DirectoryEntry
$ds = New-Object System.DirectoryServices.DirectorySearcher($de)
$ds.Filter = "(&(objectClass=User)(sAMAccountName=goyuix))"
$user = $ds.FindOne()
$user.Properties.memberof

memberof属性应包含该帐户的所有组成员身份列表。您需要更新Filter以使用适当的登录而不是我的硬编码用户。

答案 1 :(得分:1)

gyurisc!这是你的意思吗?

function Get-ProfilesList {
  $hive = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"

  #проверка нужна лишь на время отладки
  if (Test-Path $hive) {
    gci $hive | % -b {$prof = @()} -p {$dest = "" | select UserName, Sid, ProfilePath
    $dest.Sid = $_.PSChildName
    $dest.ProfilePath = (gp ($hive + "\" + $_.PSChildName)).ProfileImagePath
    $dest.UserName = Split-Path $dest.ProfilePath -leaf
    $prof += $dest
    } -end {$prof}
  }
}

Get-ProfilesList | ft -auto