$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
Das obige Skript läuft einwandfrei auf dem VMM-Server, schlägt jedoch fehl, wenn ich es als Teil des Site-Wiederherstellungsplans einbinde.
Fehlermeldung von Azure: Skriptausnahme: Argument für Parameter „Sitzung“ kann nicht validiert werden. Das Argument ist null oder leer. Geben Sie ein Argument an, das nicht null oder leer ist, und wiederholen Sie den Befehl.
Was mache ich falsch?
Antwort1
Bin nicht besonders gut im Skripting, aber ich hoffe, dass meine Hinweise zur richtigen Antwort beitragen können.
$session = New-PSSession -computername 'testserver' -credential $cred -> Erstellt eine Sitzung auf dem angegebenen Computer. $session -> Da diese Sitzung erstellt wurde, glaube ich nicht, dass Sie dies brauchen. ... $session – Da die Sitzung bereits ausgeführt wird, sehe ich keine Notwendigkeit, dieselbe erneut aufzurufen. Remove-PSSession $session -> Die Variable, die Sie übergeben, dient zum Erstellen einer weiteren Sitzung. Nicht zum Entfernen der vorhandenen. Ich glaube, Sie müssen hier nur den Servernamen oder die ID der Sitzung auf dem besagten Server angeben.
Antwort2
Habe die Lösung für dieses Problem gefunden. Obwohl der VMM mein Skript erfolgreich ausgeführt hat, zeigte Azure einen Fehler an. Es bemängelte hauptsächlich die allerletzte Zeile im Skript. Habe die letzte Zeile wie folgt geändert und jetzt funktioniert es einwandfrei.
Entfernen-PSSession -Session $session