Мне сложно понять, как удаленно переименовать компьютер с Windows 7. Это сделано для автоматизации сборок Win 7 в среде vSphere 5, и я стараюсь сделать это как можно проще. Пока мне удалось получить все, кроме машинного переименования, автоматизированного (или автоматизированного).
WinRM работает, поэтому удаленные методы PowerShell работают.
invoke-command -computername "W7-Img3-RPT49VA" -scriptblock {commands go here; have another one}
Вышеуказанное работает. Я могу получать списки каталогов и запускать команды. Однако изменить домен не удалось. За этот вопрос SF, Я попробовал следующее в блоке сценариев:
$comp=get-wmiobject -class computersystem ; $comp.rename("W7-clone-42")
Это возвращается ReturnValue : 5
что после долгих поисков переводится как «Доступ запрещен». Другое предложение на этой странице:
wmic computersystem rename "W7-Clone-42"
Возвращает бесполезный «Invalid Verb Switch». Другой интернет-источник предлагает следующую формулировку:
wmic computersystem where Name="W7-Img3-RPT49VA" call rename name="W7-clone-42"
Что дает альтернативный Invalid Verb Switch или недопустимый параметр. В качестве теста я выполнил указанную выше команду непосредственно на своей станции управления, а не через invoke-command
а также получил отказ в доступе.
Следуя старой школе, я скопировал netdom на целевую машину.
netdom renamecomputer W7-Img3-RPT49VA /newname:W7-clone-42
Что дает мне «доступ запрещен».
Все это время учетные данные, которые я тестировал, имеют администратора домена. Намерение состоит в том, чтобы открутить точную приватность, как только я определю работоспособные методы. Журнал событий безопасности на целевой машине определенно показывает успешные входы в систему на протяжении всего этого.
Альтернативный метод - обработка переименования в процессе настройки системы vSphere - все еще доступен. У меня даже есть для него файл ответов, но я не знаю, как подготовить машину-шаблон, чтобы ее можно было использовать. В любом случае я получу то, что мне нужно.
Что мне не хватает? В wmic
синтаксис явно неправильный, но два других метода возвращают «доступ запрещен», поэтому я мало надеюсь, что он заработает, как только будет выработан правильный синтаксис. Это проблема взаимодействия UAC?
Я всегда использовал netdom renamecomputer
способ делать именно то, что вы пытаетесь сделать. В Windows Vista и 7 я сталкиваюсь с той же ошибкой «доступ запрещен», что и вы. Однако вы можете обойти это, используя UserD
и PasswordD
переключатели:
netdom renamecomputer W7Img3-RPT49VA /newname:W7-clone-42 /UserD:DOMAIN\username /PasswordD:*
Вам будет предложено ввести пароль, и тогда он будет работать без ошибки «доступ запрещен». Я предполагаю, что это связано с повышенным токеном, но я не уверен.
Вы должны запустить команду WMIC в командной строке с повышенными привилегиями. Кроме того, если в имени вашего текущего или нового компьютера есть тире, вам нужно будет заключить их в двойные кавычки.
Вы можете использовать PSEXEC для запуска командной строки с повышенными привилегиями, а затем передать ей команду WMIC, чтобы изменить имя компьютера следующим образом:
psexec \\ current-pcname -h -u domain \ domainadminuser cmd / c wmic computersystem, где name = "current-pcname" [вызов] rename name = "new-pcname"
Первое, что происходит, это то, что PSEXEC запросит пароль вашего администратора домена - вы можете использовать переключатель -p для PSEXEC и ввести его в команде - но это безопаснее, imho. Глагол call не является обязательным для этой команды WMIC. Наконец, после того как WMIC и PSEXEC вернут коды «0», компьютер необходимо будет перезагрузить - я просто использую команду SHUTDOWN.
Если вам нужно удаленно переименовать доменный компьютер с Windows, графический интерфейс Netdom Rename Computer может выполнить эту работу без каких-либо знаний командной строки. Это особенно полезно при переименовании нескольких оконных компьютеров. Он также имеет возможность переименовывать компьютеры, загружая файл csv.