Сбой скрипта Powershell при выполнении из плана восстановления сайта Azure

Сбой скрипта Powershell при выполнении из плана восстановления сайта Azure
$username = "username" 
$password  = convertto-securestring "*****" -asplaintext -force 
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password  
$session = New-PSSession -computername 'testserver' -credential $cred 
Invoke-Command -Session $session -ScriptBlock {New-NetIPAddress -IPAddress 10.201.10.10 -InterfaceAlias 'LoadBalancer' -AddressFamily IPv4 -PrefixLength 24}
Remove-PSSession -Session $session

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

Сообщение об ошибке от Azure: Исключение скрипта: Невозможно проверить аргумент для параметра «Сессия». Аргумент является нулевым или пустым. Укажите аргумент, который не является нулевым или пустым, а затем повторите команду.

Где я ошибаюсь?

решение1

Я не слишком хорош в написании сценариев, но надеюсь, что мои доводы помогут найти правильный ответ.

$session = New-PSSession -computername 'testserver' -credential $cred -> Создает сеанс на указанном компьютере. $session -> Поскольку этот сеанс создан, я не думаю, что вам это нужно. ... $session - Поскольку сеанс уже запущен. Я не вижу необходимости вызывать тот же самый еще раз. Remove-PSSession $session -> Передаваемая вами переменная предназначена для создания еще одного сеанса. А не для удаления существующего. Я думаю, вам нужно просто указать здесь имя сервера или идентификатор сеанса на указанном сервере.

решение2

Нашел решение этой проблемы. Несмотря на то, что VMM успешно выполнил мой скрипт, Azure показывал ошибку. В основном он жаловался на самую последнюю строку в скрипте. Изменил последнюю строку следующим образом, и теперь все работает нормально.

Удалить-PSSession -Session $session

Связанный контент