Вы нигде не определяете $properties
, поэтому Select-Object
на самом деле ничего не делает.Его можно удалить, так как он на самом деле не нужен для этой задачи, так как свойства по умолчанию хороши.
Sort-Object
также не требуется, если вы действительно не заботитесь о том, чтобы пользователи перемещались в алфавитном порядке их имени пользователя.
Я бы также изменил Filter
, так как для него не нужен скрипт-блок { }
- его можно просто заключить в кавычки ' '
$ou1 = 'OU=test1,OU=users,DC=contoso,DC=local'
$ou2 = 'OU=test 2,OU=users,DC=contoso,DC=local'
$AdUsers = Get-ADUser -Filter 'Enabled -eq "True"' -SearchBase $ou1
foreach($user in $AdUsers) {
Write-Output "Moving Active Directory user: $($user.Name)"
Move-ADObject -Identity $user -TargetPath $ou2
}
Вы можете использовать конвейер для созданияобработать единственную команду, используя -Verbose
для вывода о том, какого пользователя он перемещает:
$ou1 = 'OU=test1,OU=users,DC=contoso,DC=local'
$ou2 = 'OU=test 2,OU=users,DC=contoso,DC=local'
Get-ADUser -Filter 'Enabled -eq "True"' -SearchBase $ou1 | Move-ADObject -TargetPath $ou2 -Verbose