Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Переименовать несколько ПК через csv

Ответить
Настройки темы
PowerShell - [решено] Переименовать несколько ПК через csv

Новый участник


Сообщения: 48
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет. Хочу переименовать компы таким скриптом из инета:
Цитата:
$CSVFile ="E:\PClist.csv"
$List = Import-Csv $CSVFile -Header OldName, NewName
Foreach ($Machine in $List) {Rename-Computer -ComputerName $Machine.OldName -NewName $Machine.NewName -DomainCredential domen\admin }
Выдает ошибку:
Цитата:
Rename-Computer : Не удается проверить аргумент для параметра "NewName". Аргумент пустой или имеет значение NULL. Укажи
те непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
E:\RenameDomainPC-PACK.ps1:3 знак:86
+ ... uter -ComputerName $Machine.OldName -NewName $Machine.NewName -Domain ...
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: ( [Rename-Computer], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.RenameComputerCommand

Для проверки запускал скрипт:
Цитата:
$CSVFile ="E:\PClist.csv"
$List = Import-Csv $CSVFile -Header OldName, NewName
Foreach ($Machine in $List) {Write-host $Machine.Oldname, $Machine.NewName}
Список из файла выводит нормально в виде komp1;komp2 и т.д.

Помогите, люди добрые, кто чем может.

Отправлено: 15:25, 22-01-2018

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Jehn, возможно, имеет смысл упаковать Ваш E:\PClist.csv в архив и приложить к сообщению.

Отправлено: 15:44, 22-01-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1874

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$cred = get-credential    
$Computers = import-csv c:\temp\rename.csv 
foreach ($Computer in $Computers){ 
Rename-Computer -NewName $Computer.NewName -ComputerName $Computer.Name -DomainCredential $cred -Restart
}
Код: Выделить весь код
$a = Import-Csv ServerNames.csv -Header OldName, NewName
Foreach ( $Server in $a ) {Rename-Computer -ComputerName $Server.OldName -NewName $Server.NewName -DomainCredential Domain01\Admin01 -Force -Restart}

-------
Кто реку перешел, тому росы бояться ни к чему

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:44, 22-01-2018 | #3


Новый участник


Сообщения: 48
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем спасибо. Вы и ребята с ixbt натолкнули на мысль, что проблема в присвоении.
Эта сволочь присваивала к olname всю строку в виде komp1;komp2.
Заработало вот так:
Цитата:
$cred = get-credential
$CSVFile ="E:\PClist.csv"
$List = Import-Csv $CSVFile -Header OldName, NewName -Delimiter ";"
Foreach ($Machine in $List) {Rename-Computer -ComputerName $Machine.OldName -NewName $Machine.NewName -DomainCredential $cred}
Помогла еще вот эта штука $cred = get-credential, в то он на каждое переименование спрашивал логин\пароль.

Отправлено: 07:14, 23-01-2018 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Переименовать несколько ПК через csv

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
После включения ПК, изображение на мониторе пропадает через несколько секунд. Михайло Непонятные проблемы с Железом 11 02-02-2017 09:36
Резко падает FPS (в несколько раз) через несколько минут игры. Tetraider Непонятные проблемы с Железом 1 21-11-2014 00:03
CMD/BAT - [решено] Периеминование файла doc.csv в Документ_дата_время.csv kagorec Скриптовые языки администрирования Windows 2 29-03-2014 18:40
Любой язык - Установка ПО через cmd на несколько ПК. advin Скриптовые языки администрирования Windows 0 28-01-2014 12:30
.NET - Работа с *.CSV через OleDbConnection LilLoco Программирование и базы данных 6 27-08-2013 03:55




 
Переход