Я собрал приведенный ниже сценарий PowerShell, но когда я запускаю его на своем DC, я получаю следующее сообщение об ошибке.
Моя общая цель состоит в том, чтобы сценарий захватил любые рабочие станции в рамках подразделения Computers OU и переместил их в подразделение Workstations OU, которое является дочерним подразделением в родительском подразделении London OU.
Любая помощь будет оценена.
Скрипт Powershell
$computerstomove = Get-ADComputer -LDAPFilter "(name=TCWSTEST)" -SearchBase "CN=computers,DC=temporis,DC=corp"
foreach ($computertomove in $computerstomove) {
Move-ADObject $computertomove -TargetPath "OU=London,OU=Workstations,DC=temporis,DC=corp"
}
Сообщение об ошибке:
Move-ADObject : The operation could not be performed because the object's parent is either uninstantiated or deleted
At \\tcws40\c$\Scripts\Workstation move.ps1:4 char:2
+ Move-ADObject $computertomove -TargetPath "OU=London,OU=Workstations,DC=tempori ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (CN=TCWSTEST,CN=...emporis,DC=corp:ADComputer) [Move-ADObject], ADException
+ FullyQualifiedErrorId : ActiveDirectoryServer:8329,Microsoft.ActiveDirectory.Management.Commands.MoveADObject
Во-первых, нет необходимости в ненужном foreach
. Это должно работать нормально:
Get-ADComputer TCWSTEST | Move-ADObject -TargetPath "OU=London,OU=Workstations,DC=temporis,DC=corp"
Во-вторых, я протестировал оба способа (ваш и мой) в своей среде, и оба они работали без ошибок. Подтвердили ли вы, что если "родительский объект объекта не создан или удален" верно? Дважды проверьте свой DN "OU=London,OU=Workstations,DC=temporis,DC=corp"
потому что вы получите это сообщение об ошибке, если в вашем DN есть опечатка.
В конце концов, чтобы упростить себе жизнь, я изменил папку по умолчанию, в которой размещаются ПК при добавлении в домен. Я использовал команду redircmp на своем DC в Powershell, и это сработало.
redircmp "OU = Workstations, OU = London, DC = temporis, DC = corp"