none
New-PSsession auf Server 2012 in Arbeitsgruppe funktioniert nur, wenn Befehle einzeln abgesetzt werden, nicht als Script RRS feed

  • Frage

  • Hallo Powershell Gemeinde,

    folgende Aufgabenstellung:     

    Von einem Win 7 Client soll ein Dienst auf einem Win 2012 Server beendet werden.   (Beide befinden sich in der gleichen Arbeitsgruppe).

    Server 2012 Konfiguration meinerseits :             

    Enable-PSRemoting –force
    Set-ExecutionPolicy remotesigned
    winrm set winrm/config/client '@{TrustedHosts="Windows7"}'

    Jetzt das seltsame: Führe ich folgende Befehle einzeln nacheinander aus, funktioniert das beenden des Dienstes.  

    $SESSION = New-PSsession -ComputerName Media
    Enter-PSSession $SESSION
    stop-Service -DisplayName "FileZilla*"

    Speichere ich die drei Zeilen in einem Script, funktioniert es nicht. Starte ich die drei Zeilen über die ISE, funktioniert es auch nicht. Hierbei gibt es folgende Fehlermeldung:

    new-PSSession : [Media] Beim Verbinden mit dem Remoteserver "Media" ist folgender Fehler aufgetreten: Der Client kann keine Verbindung mit dem in der Anforderung
    
    angegebenen Ziel herstellen. Stellen Sie sicher, dass der Dienst auf dem Ziel ausgeführt wird und die Anforderungen akzeptiert. Lesen Sie die Protokolle und die
    
    Dokumentation für den WS-Verwaltungsdienst, der auf dem Ziel ausgeführt wird. Hierbei handelt es sich meistens um IIS oder WinRM. Wenn das Ziel der WinRM-Dienst
    
    ist, führen Sie den folgenden Befehl auf dem Ziel aus, um den WinRM-Dienst zu analysieren und zu konfigurieren: "winrm quickconfig". Weitere Informationen finden
    
    Sie im Hilfethema "about_Remote_Troubleshooting".
    
    In Zeile:1 Zeichen:12
    
    + $SESSION = new-PSSession -ComputerName 'Media'
    
    +            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
        + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
    
        + FullyQualifiedErrorId : CannotConnect,PSSessionOpenFailed

    Hat hierfür jemand eine Erklärung? Oder kennt jemand eine andere Möglichkeit auf einem Win 2012 Server in einer Arbeitsgruppe einen Dienst zu beenden?

    Sönke


    • Bearbeitet Sönke T Donnerstag, 23. April 2015 10:01 Formatierung
    Donnerstag, 23. April 2015 09:59

Antworten

  • Hallo,

    versuche es mal so:

    $SESSION = New-PSsession -ComputerName Media
    Invoke-Command -Session $Session -Command {stop-Service -DisplayName "FileZilla*"}
    Man koennte auch die Verbindung dirket ueber Invoke-Command herstellen ueber den Parameter -computername

    Beste Gruesse
    brima


    P.S: ansellte von -command kann man auch -ScriptBlock nutzen.
    • Bearbeitet brima Donnerstag, 23. April 2015 15:12
    • Als Antwort markiert Sönke T Donnerstag, 23. April 2015 17:24
    Donnerstag, 23. April 2015 15:06
  • Hallo,

    ich meinte den Parameter -command, das geht auch so:

    Invoke-Command -Session $Session -Scriptblock {stop-Service -DisplayName "FileZilla*"}

    Die ISE arbeitet an einigen Stellen anders.

    Hier kannst Du dich beginnen zu informieren.

    Click

    Beste Gruesse
    brima

    • Als Antwort markiert Sönke T Donnerstag, 23. April 2015 18:09
    Donnerstag, 23. April 2015 17:34

Alle Antworten

  • Hallo,

    versuche es mal so:

    $SESSION = New-PSsession -ComputerName Media
    Invoke-Command -Session $Session -Command {stop-Service -DisplayName "FileZilla*"}
    Man koennte auch die Verbindung dirket ueber Invoke-Command herstellen ueber den Parameter -computername

    Beste Gruesse
    brima


    P.S: ansellte von -command kann man auch -ScriptBlock nutzen.
    • Bearbeitet brima Donnerstag, 23. April 2015 15:12
    • Als Antwort markiert Sönke T Donnerstag, 23. April 2015 17:24
    Donnerstag, 23. April 2015 15:06
  • Hallo Brima,

    danke, mit Invoke-Command funktioniert es als script! mit invoke-Scriptblock allerdings nicht. Beide Möglichkeiten funktionieren auch nicht in der Ise. (Wenn mir auch nicht verständlich).
    Da ich ja eine Lösung als script brauche, ist das aber egal.

    Vielen Dank noch mal für die schnelle Hilfe!

    Donnerstag, 23. April 2015 17:23
  • Hallo,

    ich meinte den Parameter -command, das geht auch so:

    Invoke-Command -Session $Session -Scriptblock {stop-Service -DisplayName "FileZilla*"}

    Die ISE arbeitet an einigen Stellen anders.

    Hier kannst Du dich beginnen zu informieren.

    Click

    Beste Gruesse
    brima

    • Als Antwort markiert Sönke T Donnerstag, 23. April 2015 18:09
    Donnerstag, 23. April 2015 17:34
  • Ah, danke so funktioniert es also auch!

    Danke für den Link über die ISE, da sind ja einige Sachen die dort nicht funktionieren. Nun bin ich wieder ein bischen schlauer!

    Donnerstag, 23. April 2015 18:13