2015-10-27 4 views
0
$target = Get-ADOrganizationalUnit -LDAPFilter "OU=Sales - Clothes,OU=Mall,OU=Computers,OU=Site2364" 
get-adcomputer computername1 | Move-ADObject -TargetPath $target.DistinguishedName 

My OU имеет место (Менеджер по продажам - Одежда)Перемещение компьютера с помощью PowerShell

Ошибка, которая появляется говорит

Move-ADObject : Cannot validate argument on parameter 'TargetPath'. The argument is null or empty. Provide 
an argument that is not null or empty, and then try the command again. 
At line:2 char:53 
+ ... mputer PCJ21584 | Move-ADObject -TargetPath $target.DistinguishedName 
+             ~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidData: (:) [Move-ADObject], ParameterBindingValidationException 
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Command 
    s.MoveADObject 
+0

Я просто понял, что это вне. Мне нужно было использовать -Identity вместо -LDAPFilter –

ответ

1

Используйте -Identity вместо LDAPFilter, чтобы получить ожидаемые результаты

$target = Get-ADOrganizationalUnit -Identity"OU=Sales - Clothes,OU=Mall,OU=Computers,OU=Site2364" 
get-adcomputer computername1 | Move-ADObject -TargetPath $target.DistinguishedName 
0

LDAPFilter Возможно, это не тот параметр, который вы хотите. Если вы знаете имя организационной единицы, вы можете использовать Filter найти по имени, то есть:

Get-ADOrganizationalUnit -Filter {Name -like "Sales - Clothes"} 

Или вы можете использовать Командлет по конвейеру в Where-Object CMDlet:

Get-ADOrganizationalUnit -Filter * | ` 
    Where-Object {$_.DistinguishedName -match "OU=Sales - Clothes,OU=Mall,OU=Computers"} 
+0

Если есть другой сайт (например, Site2244), который содержит те же контейнеры, как я узнаю, в какой из них он окажется? OU = Sales - Clothes, OU = Mall, OU = Computers, OU = Site2244 –

+0

@softwareisfun в этом случае вы бы использовали '-SearchBase', чтобы смотреть только в одном контейнере – Matt

Смежные вопросы