如何将 adobject 移动到另一个 OU
How to move adobject to another OU
我想知道如何将 adobject 移动到另一个 ou?
我不确定我对 -filter 做错了什么
$CSVFiles = @"
adobject;
StdUser
TstUser
SvcAcc
"@ | Convertfrom-csv -Delimiter ";"
$TargetOU = "OU=ARCHIVE,DC=contoso,DC=com"
foreach ($item in $CSVFiles){
get-adobject -Filter {(cn -eq $item.adobject)} -SearchBase "OU=ADMIN,DC=contoso,DC=com"| select distinguishedname | Move-ADObject -Identity {$_.objectguid} -TargetPath $TargetOU
}
-Identity { $_.ObjectGuid }
不应该有,这个参数可以从管道绑定,你也不需要从它的属性中剥离对象,换句话说,Select-Object DistinguishedName
没有其他用处比开销。
AD 模块不支持使用脚本块 (-Filter { ... }
) 进行过滤,应避免使用。有关详细信息,请参阅 about_ActiveDirectory_Filter。
$TargetOU = "OU=ARCHIVE,DC=contoso,DC=com"
foreach ($item in $CSVFiles){
$adobj = Get-ADObject -LDAPFilter "(cn=$($item.adobject)" -SearchBase "OU=ADMIN,DC=contoso,DC=com"
if(-not $adobj) {
Write-Warning "'$($item.adobject)' could not be found!"
# skip this object
continue
}
$adobj | Move-ADObject -TargetPath $TargetOU
}
我想知道如何将 adobject 移动到另一个 ou?
我不确定我对 -filter 做错了什么
$CSVFiles = @"
adobject;
StdUser
TstUser
SvcAcc
"@ | Convertfrom-csv -Delimiter ";"
$TargetOU = "OU=ARCHIVE,DC=contoso,DC=com"
foreach ($item in $CSVFiles){
get-adobject -Filter {(cn -eq $item.adobject)} -SearchBase "OU=ADMIN,DC=contoso,DC=com"| select distinguishedname | Move-ADObject -Identity {$_.objectguid} -TargetPath $TargetOU
}
-Identity { $_.ObjectGuid }
不应该有,这个参数可以从管道绑定,你也不需要从它的属性中剥离对象,换句话说,Select-Object DistinguishedName
没有其他用处比开销。
AD 模块不支持使用脚本块 (-Filter { ... }
) 进行过滤,应避免使用。有关详细信息,请参阅 about_ActiveDirectory_Filter。
$TargetOU = "OU=ARCHIVE,DC=contoso,DC=com"
foreach ($item in $CSVFiles){
$adobj = Get-ADObject -LDAPFilter "(cn=$($item.adobject)" -SearchBase "OU=ADMIN,DC=contoso,DC=com"
if(-not $adobj) {
Write-Warning "'$($item.adobject)' could not be found!"
# skip this object
continue
}
$adobj | Move-ADObject -TargetPath $TargetOU
}