【发布时间】:2015-04-17 02:26:54
【问题描述】:
我从许多网站上获取了代码片段,并且几乎拥有我需要的东西。唯一的问题是我只需要返回属于 GroupCategory Security 的组。
我正在尝试在 Active Directory 中搜索 OU,返回用户,然后列出他们所属的每个安全组,按名称排序(用户和他们所属的组)。输出到txt文件
$FilePath = 'C:\'
$EndDate = (Get-Date).tostring("yyyyMMdd")
$FileName = 'GroupMembership By User - ' + $EndDate + '.txt'
$Users=Get-ADUser -Filter * -Properties * -SearchBase "OU=My Accounts,DC=DOMAIN,DC=COM" | sort-object -property Name
ForEach ($User in $Users) {
$GroupMembership = ($User.memberof | foreach-object {(Get-ADGroup $_).Name ;}) -join ',';
$User.Name + ',' + $GroupMembership #|out-file -append "$FilePath$FileName"
}
#| Where-Object {$_.GroupCategory -EQ "Security"}
我的输出以逗号分隔,并在每行按用户名排序,但我似乎无法对组进行排序(总体上不太重要),也无法通过组列表排除通讯组(必须有)。注释掉的最后一行,将只返回安全组,但无论我把它放在哪里,它都不起作用或命令失败。
TIA
【问题讨论】: