1
Windows Server 2008 / Компы с ОС Windows 10 в нужную OU
« : 07 Сентябрь 2018, 11:46:14 »
Всем привет, пытаюсь сделать скрипт который будет опрашивать AD на наличие новых компов с Win10, и перекидывать их в нужную мне OU
Например, у меня все новые компы падают в OU "Рабочие станции", для компов с Win10 я создал новую OU "Рабочие станции Win-10".
Сделал скрипт который опрашивает OU "Рабочие станции" на наличие компов с Win10 и потом передвигает их в OU "Рабочие станции Win-10".
Он работает, даже хорошо. НО при выгрузке, после имени компов ставится куча пробелов, и из-за этих пробелов скрипт не может опознать имя компа. Если пробелов нет, то скрипт отрабатывает отлично.
Может у кого есть варианты решения проблемы с пробелами? Либо есть другой вариант автоматического перемещения компов?
P.S.
Настраивать чтобы все компы валились сразу в эту OU не надо, т.к. только начинаем переходить на Win10, но еще и некоторых на Win7 заводим.
Руками такое тоже делать не хочется, т.к. компов будет много, а каждый день следить за этим - это абсурд.
Например, у меня все новые компы падают в OU "Рабочие станции", для компов с Win10 я создал новую OU "Рабочие станции Win-10".
Сделал скрипт который опрашивает OU "Рабочие станции" на наличие компов с Win10 и потом передвигает их в OU "Рабочие станции Win-10".
Он работает, даже хорошо. НО при выгрузке, после имени компов ставится куча пробелов, и из-за этих пробелов скрипт не может опознать имя компа. Если пробелов нет, то скрипт отрабатывает отлично.
Может у кого есть варианты решения проблемы с пробелами? Либо есть другой вариант автоматического перемещения компов?
P.S.
Настраивать чтобы все компы валились сразу в эту OU не надо, т.к. только начинаем переходить на Win10, но еще и некоторых на Win7 заводим.
Руками такое тоже делать не хочется, т.к. компов будет много, а каждый день следить за этим - это абсурд.
Цитировать
Сам скриптКод: [Выделить]Get-ADComputer -SearchBase ‘OU=Рабочие станции,DC=DOMAIN,DC=local’ -Filter { OperatingSystem -Like '*Windows 10*' } -Properties OperatingSystem | FT Name | Format-Table -AutoSize | Out-File d:\server_system.txt
$PCs = gc "d:\server_system.txt"
$TargetOU = "OU=Рабочие станции Win-10,DC=DOMAIN,DC=local"
foreach ($PC in $PCs) {
Get-ADComputer -Identity $PC | Move-ADObject –WhatIf -TargetPath $TargetOU
}
Цитировать
Это результат отработки скриптаКод: [Выделить]Get-ADComputer : Не удается найти объект с удостоверением: "VOROBYOVMN " в "DC=DOMAIN,DC=local".
D:\Перемещение Win10 в OU Win 10 и Поиск компов с Win 10 в OU Рабочие станции.ps1:5 знак:1
+ Get-ADComputer -Identity $PC | Move-ADObject –WhatIf -TargetPath $Tar ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (VOROBYOVMN :ADComputer) [Get-ADComputer], ADIdentityNotFoundException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.GetADComputer
WhatIf: Выполнение операции "Move" над целевым объектом "CN=LAPTOP-KURASH,OU=Рабочие станции,DC=DOMAIN,DC=local".