我在Powershell中的一个脚本有问题...
我想将用户从一个OU(例如父OU:“IT”)转移到一个“子OU”=>“Users”(“IT”>“Users”)。
**问题:
$name = "CN=Michael Allen,OU=IT,DC=Adatum,DC=com"
Move-ADObject "CN=Michael Allen,OU=IT,DC=Adatum,DC=com" -TargetPath "OU=IT,OU=Users,DC=Adatum,DC=com"
Move-ADObject : The operation could not be performed because the object's parent is either
uninstantiated or deleted
At line:5 char:1
+ Move-ADObject "CN=Michael Allen,OU=IT,DC=Adatum,DC=com" -TargetPath "OU=IT,OU=Us ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (CN=Michael Allen,OU=IT,DC=Adatum,DC=com:ADObject) [Move-AD
Object], ADException
+ FullyQualifiedErrorId : ActiveDirectoryServer:8329,Microsoft.ActiveDirectory.Management.Commands.
MoveADObject
字符串
我的代码:
$root = [ADSI]"LDAP://RootDSE"
$DOMAIN = $root.Get("rootDomainNamingContext")
#Informations serveur & domaine (Ex. : SERVER='LON-DC' / DOMAIN='DC=Adatum,DC=com')"
$SERVER = (Get-WmiObject Win32_ComputerSystem).Name
$root = [ADSI]"LDAP://RootDSE"
$DOMAIN = $root.Get("rootDomainNamingContext")
#Sous OU des OU parentes
$CHILD_OU1 = "Users"
$CHILD_OU2 = "Computers"
$CHILD_OU3 = "Groups"
#Pour chaque sous-OUs "Users", on récupère les utilisateurs des OU parent du fichier texte défini et on les transferts
foreach ($PARENT_OU in $OU_FILE) {
#Récupération de la liste des utilisateurs de l'OU parente
$users = Get-ADUser -Filter * -SearchBase "OU=$PARENT_OU,$DOMAIN"
#Write-Host "Liste d'utilisateurs pour : $PARENT_OU : [$users]"
#Pour chaque utilisateurs de la liste dans l'OU parente, on le transfert dans l'OU enfante "Users"
foreach ($user in $users) {
Write-Host "Utilisateur pour le transfert : $user"
Write-Host "OU parente : $PARENT_OU"
Write-Host "OU enfante : $CHILD_OU1"
Move-ADObject -Identity "$user" -Server $SERVER -TargetPath "OU=$PARENT_OU,OU=$CHILD_OU1,$DOMAIN"
}
}
型
我是法国人,我试了很多时间来做这个剧本,但我不能理解...有人能帮助我吗?
谢谢.
2条答案
按热度按时间vjhs03f71#
正常情况下,此错误会在无法验证目标目录路径时出现,“Users”目录是否已存在于“IT”目录中?另一种调试方法是在目标目录中创建临时用户,并将其目录位置与目标目录进行比较,以确保它们完全匹配。
tpgth1q72#
谢谢大家的回答!但我发现问题是谁是如此“真的愚蠢的我”.
字符串
它是:
我的Move-AdObject是:Move-ADObject -Identity“$user”-Server $SERVER -TargetPath“=$CHILD_OU1,=$PAID_OU1000,$DOMAIN”。
谢谢你的回答,我注意到所有的细节,它会帮助我。
Good continuation:)