Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/75: Рейтинг темы: голосов - 75, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288

Перезавести компьютер в домен

15.01.2019, 10:12. Показов 15107. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Нужен скрипт который бы выполнял следующее:

Есть список компов (comp1, comp2....) Нужно пройтись по списку и удаленно переименовать эти рабочие станции в домене, так чтобы названия стали с префиксом к примеру www-comp1. Выполняться скрипт будет от учётной записи, которая имеет удаленный доступ к данным рабочим станциям.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2019, 10:12
Ответы с готовыми решениями:

Добавить компьютер в Домен
Доброго времени суток ! Обращаюсь к вам за помощью. Необходимо написать запрос в PowerShell который сможет: 1. Добавить компьютер в...

Компьютер долго входит в домен!
Добрый день Всем! ПОдскажите пожалуйста, почему компьютер с windows xp долго входит в домен windows server 2003. Другие станции с такой же...

Не могу ввести в домен 2012R2 компьютер с win7prof
Из-за ПО egois, которое обязательна с 2016 года переустановил винду с XP на вин7проф 32 бита. И так при вводе в домен винда всегда...

24
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
15.01.2019, 10:20
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
Есть список компов (comp1, comp2....) Нужно пройтись по списку и удаленно переименовать эти рабочие станции в домене, так чтобы названия стали с префиксом к примеру www-comp1
PowerShell
1
Get-Content comp.txt |% {Rename-Computer -ComputerName $_ -NewName "www-$_" -Force -Restart}
PowerShell
1
Get-Help Rename-Computer -Examples
Кликните здесь для просмотра всего текста
PS C:\>$a = Import-Csv ServerNames.csv -Header OldName, NewName
PS C:\>Foreach ( $Server in $a ) {Rename-Computer -ComputerName $Server.OldName -NewName $Server.NewName -Do
mainCredential Domain01\Admin01 -Force -Restart}

Эта команда переименовывает несколько компьютеров в домене. Она использует CSV-файл для указания значений дл
я текущих и новых имен компьютеров. CSV-файл содержит ряд пар имен в формате "СтароеИмя, НовоеИмя": по одной
паре имен в каждой строке файла.

Первая команда использует командлет Import-Csv, чтобы импортировать файл ServerNames.csv в переменную $a. Он
а использует параметр Header, чтобы указать имена заголовков столбцов для каждого из двух столбцов. В переме
нной $a создается коллекция пользовательских объектов, каждый из которых имеет свойство OldName и NewName.

Вторая команда выполняет командлет Rename-Computer для каждого объекта в переменной $a. Она указывает старое
имя (значение свойства OldName) для значения параметра ComputerName и новое имя (значение свойства NewName)
для значения параметра NewName. Команда задает учетные данные домена и использует параметры Force и Restart
для отключения всех запросов к пользователю и перезагрузки каждого компьютера после переименования.
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
15.01.2019, 10:31  [ТС]
А сами машинки локально переименуются? И они буду в своих контейнерах AD?

Добавлено через 1 минуту
Я думал что скрипт должен выполянься удаленно на машинках с последующей перезагрузкой.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
15.01.2019, 10:36
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
А сами машинки локально переименуются? И они буду в своих контейнерах AD?
Вам кто-то мешает прочить справку или самостоятельно протестировать работу этой команды?

PowerShell
1
Get-Help Rename-Computer -Examples
Эта команда задает для компьютера Srv01 имя Server044, а затем перезапускает его, чтобы изменения вступили в
силу. Она использует параметр LocalCredential для предоставления учетных данных пользователя, имеющего разр
ешение на подключение к локальному компьютеру, и параметр DomainCredential для предоставления учетных данных
пользователя, имеющего разрешение на переименование компьютеров в домене.
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
13.02.2019, 14:43  [ТС]
если я выполняю скрипт
PowerShell
1
Get-Content comp.txt |% {Rename-Computer -ComputerName $_ -NewName "www-$_" -Force -Restart -DomainCredential "domain\admin" -LocalCredential "domain\admin"}
В AD имя меняется, но сам компьютер не переименовывается, а только перезагрузка. Что не так?
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
13.02.2019, 15:05
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
В AD имя меняется, но сам компьютер не переименовывается, а только перезагрузка. Что не так?
Значит не верно указаны LocalCredential или нет доступа к этому ПК.

Добавьте к Rename-Computer ключ -Verbose и смотрите, что именно происходит.

И если речь идёт о переименовании ПК уже добавленных в домен, тогда ключ LocalCredential можно не указывать.
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
13.02.2019, 15:47  [ТС]
машинка перезагрузилась, вот что PS вывел в консоль
ПОДРОБНО: Выполнение операции "Rename-Computer" над целевым объектом

В AD переименовалась, а сама машина нет, имя то же что и до выполнения скрипта.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
13.02.2019, 15:52
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
В AD переименовалась, а сама машина нет, имя то же что и до выполнения скрипта.
Проверьте, что dns имя соответствует реальному ПК:

PowerShell
1
icm -comp 'pc01' {$env:COMPUTERNAME}
Где "pc01" - имя проблемного ПК, а на экране должно отобразится тоже имя.
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
13.02.2019, 16:08  [ТС]
Теперь вообще ошибка

[pc01] Сбой подключения к удаленному серверу pc01. Сообщение об ошибке: WinRM не удается обработать запрос. При проверке подлинности Kerberos возникла следующая ошибка: не удается найти компьютер pc01 Убедитесь, что этот ко
мпьютер присутствует в сети и что его имя указано без ошибок. Подробности см. в разделе справки "about_Remote_Troubleshooting".
+ CategoryInfo : OpenError: (pc01:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : NetworkPathNotFound,PSSessionStateBroken
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
13.02.2019, 16:10
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
Сбой подключения к удаленному серверу pc01
Цитата Сообщение от KDE777 Посмотреть сообщение
Где "pc01" - имя проблемного ПК
Вместо pc01 - нужно указать имя вашего ПК, у которого не меняется имя.
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
13.02.2019, 16:13  [ТС]
через nslookup такое имя не зарегистрировано

Добавлено через 1 минуту
Его и ввожу
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
13.02.2019, 16:21
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
через nslookup такое имя не зарегистрировано
Тогда сами подумайте - каким образом PS подключится к такому ПК и переименует ОС локально??? Или вы ожидает от PS какой-то магии, не смотря на то, что старое имя не разрешается?
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
13.02.2019, 16:28  [ТС]
Ладно, хорошо, изначально не правильно поставил вопрос. Каким образом через PS можно переименовать компьютеры в домене и локально с таким же именем?
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
13.02.2019, 16:45
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
Каким образом через PS можно переименовать компьютеры в домене и локально с таким же именем?
Именно таким, как вы и делаете:

Цитата Сообщение от Dimasik1989 Посмотреть сообщение
PowerShell
1
Get-Content comp.txt |% {Rename-Computer -ComputerName $_ -NewName "www-$_" -Force -Restart -DomainCredential "domain\admin" -LocalCredential "domain\admin"}
ПК, который вы указывает в -ComputerName, естественно, должен быть доступен.
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
13.02.2019, 16:54  [ТС]
Вот так оно и получилось, что в AD переименовались, а локально нет, и машинки стали недоступны.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
13.02.2019, 17:06
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
в AD переименовались, а локально нет, и машинки стали недоступны.
И при этом не было никаких сообщений об ошибках?

До переименования проверяли/тестировали, что PS может обращаться к таким ПК? Например:

PowerShell
1
2
icm -comp 'OldName' {$env:COMPUTERNAME}
gwmi -comp 'OldName' Win32_ComputerSystem
0
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
13.02.2019, 17:50  [ТС]
Cейчас ещё раз попробовал на другом компе и всё до переименования отрабатывает на ура, а вот после переименования получаю:
PowerShell
1
icm -comp 'compik01' {$env:COMPUTERNAME}
[compik01] Сбой подключения к удаленному серверу compik01. Сообщение об ошибке: WinRM не удается обработать запрос. При проверке подлинности Kerberos возникла следующая ошибка: не удается найти компьютер compik01. Убедитесь, что этот компьютер присутствует в сети и что его имя указано без ошибок. Подробности см. в разделе справки "about_Remote_Troubleshooting".
+ CategoryInfo : OpenError: (compik01:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : NetworkPathNotFound,PSSessionStateBroken

Второй коммандой после переименования

gwmi -comp 'compik01' Win32_ComputerSystem


Domain : domain.com
Manufacturer : Microsoft Corporation
Model : Virtual Machine
Name : COMPIK01
PrimaryOwnerName : Windows User
TotalPhysicalMemory : 8589463552

В результате в AD переименовался compik02, а локально по-прежнему compik01

Добавлено через 25 минут
Может тогда какой-нибудь другой способ это сделать подскажите? Локально через Invoke-command переименовать, а потом rename-computer? Или это будет совсем неправильно?
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
13.02.2019, 18:05
Лучший ответ Сообщение было отмечено Dimasik1989 как решение

Решение

Цитата Сообщение от Dimasik1989 Посмотреть сообщение
Локально через Invoke-command переименовать, а потом rename-computer? Или это будет совсем неправильно?
Попробуйте... Почему бы и нет?

Я с проблемой описанной вами ни разу не сталкивался. У меня Rename-Computer переименовывает всё сразу - локально и в AD.

+ проверил и через Invoke-command - также всё переименовывается без всяких проблем:

PowerShell
1
icm -comp 'OldName' {Rename-Computer -NewName "www-$env:COMPUTERNAME" -Force -Restart -DomainCredential 'domain\admin'}
1
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 288
14.02.2019, 12:43  [ТС]
Получилось, оказалось что с недавних пор доменный админ не имеет доступа на рабочие станции, по этому пришлось учётку добавить в соответствующую группу доступа, единственно мне осталось непонятным почему не было ошибок при выполнении скрипта.
KDE777, подскажите пожалуйста, я не учёл один момент если при переименовании компьютер с таким именем уже существует. А можно сделать, так:
Например в списке comp55, заменяем число в имени на первое число формата 001, проверяем в AD если есть такой комп, то заменяем на 002 и так далее до тех пока в AD комп с таким именем не существует и переименовываем его. И по всему списку в файле.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
14.02.2019, 12:55
Цитата Сообщение от Dimasik1989 Посмотреть сообщение
в списке comp55, заменяем число в имени на первое число формата 001
Уточните:

1. Берём имя формата: nameNN (например comp55)
2. NN заменяем на 001, т.е. получаем comp001
3. Проверяем в AD наличие компьютера с именем comp001
3.1 если не находим - переименовываем comp55 -> comp001
3.2 если не находим - меняем имя на name(001 + 1) и переходим к п.3

Если всё так, тогда подтвердите, что старые имена ПК, точно соответствуют шаблону nameNN (где NN целое число).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2019, 12:55
Помогаю со студенческими работами здесь

При установленном касперском компьютер долго входит в домен
На компьютере с Win XP Установлен Касперский 14. При включении компьютер долго (несколько минут) входит в домен. После удаления Касперского...

Если компьютер не входит в домен, как ограничить принтер?
Всем привет! Имеется домен. В нем развернут принт-сервер. На одном из компьютеров установлена Win 10 Home, он не входит в домен....

Не получается ввести компьютер в домен
Доброго времени суток! Домен Windows server 2008 R2, если это важно. так вот,при вводе в домен выдает ошибку следующего типа: ...

Хочу завести в домен компьютер
AD я поднял, брандмауэры отключил на обоих сторонах, DNS настроил и когда я ввожу в домен винда находит домен, и домен он видит почему...

Не вводится в домен компьютер с windows 7
Здравствуйте, проблема в следующем - Windows 7 Профессиональная 64 bit не вводится в домен Windows Server 2003 EE R2 SP2. Действия: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru