我创建了以下
Get-ADGroup -Filter * -SearchBase "DC=Domain,dc=.com" -properties name, members |
Select-Object *,@{Name='Member';Expression={$_.Members -replace '^CN=([^,]+).+$','$1'}} |
FT Name, Member -Autosize |
out-file c:\text.txt
忽略Domain和.com,并使用我的相关信息填充它们,但出于此处的考虑,将其删除。
当我运行它时,它返回我想要的内容,但是当查看组中的成员时,它们都以...结尾,并且不显示所有成员
有几件事需要纠正。让我们按顺序查看它们。实际的AD查询可以简化:您只需要指定“成员”作为附加属性即可检索,因为默认情况下会带回“名称”:
Get-ADGroup -Filter * -SearchBase "DC=Domain,dc=.com" -properties members
假设您只想输出两个属性(“名称”和自定义一个“成员”),请使用选择仅检索所需的属性:
Select-Object Name ,@{Name='Member';Expression={$_.Members -replace '^CN=([^,]+).+$','$1'}}
删除Format-Table:我们已经在前面的命令中限制了选择。格式化cmdlet旨在将输出格式化为控制台窗口,并且最佳实践表明它们应仅用于该目的,并且它们应始终是管道的最后一个元素。
将所有这些都用管道导出到Export-Csv将产生您想要的:
Export-Csv -NoTypeInformation -Path C:\text.csv
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句