Назад | Перейти на главную страницу

Сбой сценария 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: Исключение сценария: не удается проверить аргумент для параметра «Сеанс». Аргумент равен нулю или пуст. Укажите аргумент, который не может быть пустым или пустым, а затем повторите команду.

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

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

Remove-PSSession -Session $ session

Не очень хорош в написании сценариев, но, надеюсь, то, что я укажу, может помочь привести к правильному ответу.

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