尝试在包含不同搜索位置的foreach
循环中运行命令,例如:
$ous ='ou=Staff,dc=example,dc=local', 'ou=Managers,dc=example,dc=local'
$colItems = $ous | ForEach { Get-ADUser -Filter * -SearchBase "ou=Example,dc=example,dc=local" -Properties whenCreated | select -Property Enabled,Name,SamAccountName,whenCreated }
我想每次都在搜索查询中替换OU
"ou=Example,dc=example,dc=local"
答案 0 :(得分:1)
我认为这是我的答案。
$colItems = ForEach ($ou in $ous) { Get-ADUser -Filter * -SearchBase $ou -Properties whenCreated | select -Property Enabled,Name,SamAccountName,whenCreated }
答案 1 :(得分:1)
如果使用带有ForEach-Object
循环的管道,则必须使用当前对象变量($_
)来引用管道中的当前对象。改变这个:
$ous | ForEach { Get-ADUser -Filter * -SearchBase "ou=Example,dc=example,dc=local" -Properties ... }
进入这个:
$ous | ForEach-Object { Get-ADUser -Filter * -SearchBase $_ -Properties ... }
有关详细信息,请参阅about_Automatic_Variables。