这是我正在使用的命令:
PS U:\> Get-ADUser paul -properties memberof | fl memberof
我的输出如下:
memberof : {CN=WLAN-Allow,OU=Groups,OU=Users,OU=at,....}
所以我的问题是如何将我的单行输出格式化为类似列表的内容:
memeberof :
- CN=WLAN-Allow
- OU=Groups
- OU=Users
- OU=at*
答案1
我同意 Gerald 的观点,这个问题很模糊,您可以使用 Gerald 提供的代码列出成员中的每个条目。如果出于某种原因(我无法理解)您需要输出以显示结果集中的每个目录对象,那么这将做到这一点:
Get-ADUser paul -properties memberof | select -ExpandProperty memberof | %{
$x = $_.Split(',');
foreach($y in $x) {
if($y -like 'CN=*') {
$y
} else {
"`t$y"
}
}
}
输出如下:
CN=Group One
OU=Old AD Groups
OU=Groups
OU=GB
DC=Company
DC=net
CN=Group 2
OU=Groups
OU=Nested
OU=GB
DC=Company
DC=net
答案2
您可以使用以下-ExpandProperty
参数select
:
Get-ADUser paul -Properties memberof | Select -ExpandProperty memberof
结果将是列表中每一项占一行。我假设这就是你想要的,你的示例结果没有多大意义。
CN=WLAN-Allow,OU=Groups,OU=Users,OU=at
CN=Group 2,OU=...
CN=Group 3,OU=...