如何用PowerShell将Active Directory所有用户和组存入单个变量?
如何将Active Directory中的所有用户和组存入同一个变量?
有两种常用方法可以实现这个需求:
方法一:使用Get-ADObject一次性查询
通过Get-ADObject直接筛选用户和组类型的AD对象,一次完成查询,效率更高:
$ADUsersAndGroups = Get-ADObject -Filter 'ObjectClass -eq "user" -or ObjectClass -eq "group"'
如果需要获取对象的全部属性,可添加-Properties *参数(按需使用,避免不必要的性能开销):
$ADUsersAndGroups = Get-ADObject -Filter 'ObjectClass -eq "user" -or ObjectClass -eq "group"' -Properties *
方法二:合并Get-ADUser和Get-ADGroup的结果
将两个命令的输出结果合并到同一个数组变量中,逻辑更直观:
$ADUsersAndGroups = @(Get-ADUser -Filter *; Get-ADGroup -Filter *)
也可以用+运算符合并:
$ADUsersAndGroups = Get-ADUser -Filter * + Get-ADGroup -Filter *
两种方法的区别
Get-ADObject方式:单次查询AD,减少网络交互,在大型AD环境中性能更优- 合并命令方式:逻辑简单易懂,适合快速编写脚本或对AD cmdlet更熟悉的场景
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

