Script do Powershell falhando quando executado no Plano de Recuperação de Site do Azure

Script do Powershell falhando quando executado no Plano de Recuperação de Site do 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

O script acima funciona bem no servidor VMM, mas falha quando o incluo como parte do plano de recuperação do site.

Mensagem de erro do Azure: Exceção de script: não é possível validar o argumento no parâmetro 'Sessão'. O argumento é nulo ou vazio. Forneça um argumento que não seja nulo ou vazio e tente o comando novamente.

Onde eu estou errando?

Responder1

Não é muito bom em scripts, mas espero que o que aponto possa ajudar a chegar à resposta certa.

$session = New-PSSession -computername 'testserver' -credential $cred -> Cria uma sessão no computador especificado. $session -> Como a sessão foi criada, não acredito que você precise disso. ... $session - Como a sessão já está em execução. Não vejo necessidade de ligar para o mesmo novamente. Remove-PSSession $session -> A variável que você passa é para criar mais uma sessão. Não remova o existente. Acho que você precisa apenas especificar o nome do servidor aqui ou o ID da sessão no referido servidor.

Responder2

Descobri a solução para esse problema. Embora o VMM tenha executado meu script com êxito, o Azure estava mostrando um erro. Estava reclamando principalmente da última linha do roteiro. Modifiquei a última linha com o seguinte e funciona bem agora.

Remove-PSSession -Session $sessão

informação relacionada