Invoke-команда на удаленном компьютере с перезагрузкой - PullRequest
0 голосов
/ 13 февраля 2020

Я создаю сценарий, который выполняет следующие действия

  1. Подключение от Hyper-V к вновь созданному шаблону виртуальной машины с помощью Powershell remote
  2. Изменение IP
  3. Изменить имя компьютера
  4. Перезагрузить компьютер, чтобы имя компьютера вступило в силу
  5. Установить роль AD
  6. Создать домен

Большинство шагов, кажется, работают, я застрять только на шаге 4.

Я использую следующую строку.

Invoke-Command -FilePath C:\Support\createdomain.ps1 -VMName TEMPLATE-DC

, которая запрашивает учетные данные виртуальной машины, и он продолжает и делает вещи. Пока я не доберусь до перезагрузки.

Restart-Computer -Wait -For PowerShell -Timeout 300 -Delay 2

Я также пытался просто получить следующее, это перезапускает виртуальную машину, но также останавливает сеанс Powershell и не запускает Start Sleep

Restart-Computer -Force
Start-Sleep -s 300

Итак, мой вопрос: как я могу запустить скрипт powershell на удаленной машине, в данном случае на виртуальной машине. И сделать перезагрузку и подождать, пока он перезагрузится, чтобы возобновить работу сценария?

Это ошибка, которую я получаю

The background process reported an error with the following message: "The Hyper-V socket target process has ended.".
+ CategoryInfo          : OperationStopped: (TEMPLATE-DC:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : JobFailure
+ PSComputerName        : TEMPLATE-DC

1 Ответ

0 голосов
/ 13 февраля 2020

Я бы рекомендовал разбить этот скрипт на три части.

  1. Обновить имя системы и IP-адрес
    • , дождаться, пока система будет доступна через l oop. Убедитесь, что vm доступен, прежде чем продолжить
  2. Переподключиться после того, как агент станет доступен, и перезагрузиться.
    • invoke-command для перезагрузки системы.
    • дождитесь, когда система снова будет доступна. Как только виртуальная машина станет доступной,
  3. Установите роль и настройте домен.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...