从 Azure 站点恢复计划执行 Powershell 脚本失败

从 Azure 站点恢复计划执行 Powershell 脚本失败
$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 的错误消息:脚本异常:无法验证参数“Session”上的参数。该参数为 null 或为空。请提供一个非 null 或为空的参数,然后重试该命令。

我哪里做错了?

答案1

脚本编写不是很出色,但希望我指出的内容能够帮助找到正确答案。

$session = New-PSSession -computername 'testserver' -credential $cred -> 在指定的计算机上创建会话。$session -> 由于该会话已创建,我认为您不需要这个。... $session - 由于会话已在运行。我认为没有必要再次调用同一个。Remove-PSSession $session -> 您传递的变量是创建另一个会话。不删除现有的。我认为您只需在此处指定服务器名称或所述服务器上会话的 ID。

答案2

找到了这个问题的解决方案。尽管 VMM 成功执行了我的脚本,但 Azure 仍显示错误。它主要抱怨脚本的最后一行。修改了最后一行,现在运行正常。

删除-PSSession-Session $session

相关内容