none
Enter-PSSession funktioniert nicht (Befehle werde lokal ausgeführt) RRS feed

  • Frage

  • Liebes Forum,

    Mein Ziel ist es von einer VM aus, eine RemoteConnection zu erstellen, die auf den realen Rechner zugreift und diesen dazu veranlasst ein NetzwerkShare einzubinden und eine Datei dahin zu schieben. Natürlich kann ich auch aus der VM direkt auf die NAS kopieren, aber das hat seine Gründe.

    Wenn ich jetzt aber eine Session mit start-pssession öffne, werden die Befehle noch in der VM ausgeführt. Also das NAS wird in der VM eingebunden und dort versucht die Datei auf D: (die nicht existiert) auf die NAS zu schieben. Ich finde das wirklich komisch, vor allem, weil alles funktioniert, wenn ich das Script Zeile für Zeile in die Shell tippe.

    Kann mir da jemand helfen?

    So sieht es im Moment aus:

    $pw = convertTo-SecureString -AsPlainText -String <pw>
    $cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentList "Administrator",$pw
    $session = new-Session -ComputerName <IP> -Credential $cred
    enter-pssession $session
    net use N: /d /Y
    net use N: \\ip\folder /user:ip\user <pw>
    copy-item D:somewhere N:
    net use N: /d /Y
    exit-pssession
    remove-pssession $session

    Donnerstag, 27. September 2012 14:03

Antworten

  • OK, ich habe den Fehler gefunden, warum genau das aber nicht funktioniert hat ist mir schleierhaft. Eine Lösung war :

    Invoke-Command -ScriptBlock {
    ...
    } -Session $session

    So wird eine Session für einen Codeblock geöffnet und danach wieder geschlossen. Ich hoffe das hilft vielleicht jemandem noch weiter ;)

    Achtung: Die Session wird aber nicht gelöscht, die muss noch extra gelöscht werden!

    • Bearbeitet Simons0n Donnerstag, 27. September 2012 15:03
    • Als Antwort markiert Simons0n Donnerstag, 27. September 2012 15:03
    Donnerstag, 27. September 2012 15:01