通过powershell获取不同OU中ActiveDirectory中的所有用户
我知道如何为一个OU使用Get ADUser,但如何为多个OU扩展它通过powershell获取不同OU中ActiveDirectory中的所有用户,powershell,Powershell,我知道如何为一个OU使用Get ADUser,但如何为多个OU扩展它 import-module activedirectory $Path = 'OU=usertest,dc=a,dc=b,dc=com' $NumberOfUsersinAD = (Get-ADUser -SearchBase $Path –filter * ).count $ADUsers = Get-ADUser -Searchbase $Path -Filter * 单个查询只能有一个SearchBase,但如果愿
import-module activedirectory
$Path = 'OU=usertest,dc=a,dc=b,dc=com'
$NumberOfUsersinAD = (Get-ADUser -SearchBase $Path –filter * ).count
$ADUsers = Get-ADUser -Searchbase $Path -Filter *
单个查询只能有一个
SearchBase
,但如果愿意,可以发出多个查询:
$Domain = 'dc=a,dc=b,dc=com'
# Create array of OU paths
$OUsToSearch = @(
"OU=usertest1,$Domain",
"OU=usertest2,$Domain",
"OU=Deeply,OU=Nested,OU=usertest1,$Domain"
)
# Create empty array
$ADUsers = @()
# Loop through OUs and search for users
foreach($Path in $OUsToSearch){
$ADUsers += Get-ADUser -SearchBase $Path -Filter *
}
# Count users (no need for a separate query)
$NumberOfADUsers = $ADUsers.Count
谢谢这太棒了。只有两个问题:你能解释一下$ADUsers=@()的作用吗?如果我们有30个OU,我应该逐个键入它们吗?@frhling1我已经用注释更新了答案。“一个接一个地打”是什么意思?如果要搜索所有OU,只需将域指定为
SearchBase