Войти

Показать полную графическую версию : [решено] Получение элементов


lox-ness
10-09-2020, 16:49
Добрый День! Задача переименовать ПК (много) в домене, для этих целей решили написать скрипт, который отфильтрует выключенные и заблокированные ПК пользователем и с OS WinXP,
затем исходя из правил именования объектов в домене создаст новые имена ПК.
Итог всех телодвижений получили объект -[pscustomobject]
NewName Block Ping OldName Status OS
------- ----- ---- ------- ------ --
76-P3-0035 Not Yes 3-SM-TO console Windows 7 Профессиональная
76-P3-0036 Not Yes 3-SM-DP console Windows 7 Профессиональная
76-P3-0037 Not Yes 3-SM-K3 console Windows 7 Профессиональная

Сейчас необходимо корректно извлечь имена OldName и NewName и подставить в Rename-Computer, но что-то не получается
Извлекаем через так
for($j=0; $j -le $rename.Count; $j++ ) {
$old_name =$rename[$j].OldName
$new_name = $rename[$j].NewName

Rename-Computer -ComputerName $old_name -NewName $new_name ....
}

Мучают сомнения, что этот номер не пройдет. Все таки можно корректно получить данные или нет?

Foreigner
10-09-2020, 20:25
Если $rename, это полученный объект:


foreach ($comp in $rename)
{
Rename-Computer -ComputerName $comp.OldName -NewName $comp.NewName -Force ....
}

lox-ness
11-09-2020, 05:49
Спасибо, за помощь
Нужно только добавить, в моем случае, удаление пробелов
$oldName = $comp.OldName.trim() -replace "\s+"
и аллилуйя заработало :)




© OSzone.net 2001-2012