Verhindert, dass der Computer Windows PowerShell-Remotebefehle empfängt.

Syntax

Disable-PSRemoting [-Force] [-Bestätigung] [-WhatIf] [<CommonParameters>]

Beschreibung

Die Disable-PSRemoting-Funktion deaktiviert alle Sitzungskonfigurationen auf dem lokalen Computer, indem sie ihren Sicherheitsbeschreibungen den Eintrag "Alle verweigern" hinzufügt. Dadurch wird verhindert, dass der lokale Computer Remotebefehle empfängt.

Disable-PSRemoting beendet den WinRM-Dienst nicht und hindert Benutzer des lokalen Computers nicht daran, Sitzungen einzurichten, die eine Verbindung mit Remotecomputern herstellen oder Befehle an andere Computer senden.

Um die Sitzungskonfigurationen erneut zu aktivieren, verwenden Sie das Cmdlet "Enable-PSRemoting" oder "Enable-PSSessionConfiguration".

Sie müssen Windows PowerShell mit der Option "Als Administrator ausführen" öffnen, um diese Funktion unter Windows Vista, Windows Server 2008 und höheren Versionen von Windows auszuführen.

Parameter

-Force

Unterdrückt alle Benutzeraufforderungen. Standardmäßig werden Sie aufgefordert, jeden Vorgang zu bestätigen.

Erforderlich?

false

Position?

named

Standardwert

False

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Bestätigung

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

None

Eingaben können nicht über die Pipeline an dieses Cmdlet übergeben werden.

Ausgaben

None

Dieses Cmdlet gibt keine Objekte zurück.

Hinweise

Eine Sitzungskonfiguration ist eine Gruppe von Einstellungen, die die Umgebung für eine Sitzung definieren. Die Sitzungskonfigurationen befinden sich auf dem Remotecomputer und werden von lokalen und Remotesitzungen verwendet, die eine Verbindung mit dem Computer herstellen.

Jede Sitzung, die eine Verbindung mit dem Computer herstellt, muss eine der auf dem Computer registrierten Sitzungskonfigurationen verwenden. Dies schließt permanente Sitzungen, die Sie mit dem Cmdlet "New-PSSession" oder "Enter-PSSession" erstellen, sowie die temporären Sitzungen ein, die Windows PowerShell erstellt, wenn Sie den ComputerName-Parameter eines Cmdlets verwenden, das die Remotingtechnologie der WS-Verwaltung verwendet, z. B. "Invoke-Command". Indem Sie den Zugriff auf alle Sitzungskonfigurationen verweigern, hindern Sie alle Benutzer effizient an der Einrichtung von Sitzungen, die eine Verbindung mit dem Computer herstellen.

Disable-PSRemoting entspricht "Disable-PSSessionConfiguration -name *".

Beispiel 1

C:\PS>disable-psremoting

Beschreibung
-----------
Mit diesem Befehl werden alle Sitzungskonfigurationen auf dem Computer deaktiviert.






Beispiel 2

C:\PS>disable-psremoting -force

Beschreibung
-----------
Mit diesem Befehl werden alle Sitzungskonfigurationen auf dem Computer deaktiviert, ohne eine Bestätigung anzufordern.






Beispiel 3

C:\PS>disable-psremoting -force

C:\PS> new-pssession -computername localhost

[localhost] Connecting to remote server failed with the following error
message : Access is denied. For more information, see the about_Remote_Troub
leshooting Help topic.
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionOpenFailed


C:\PS> new-pssession -computername Server01

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   Server01...     Opened   Microsoft.PowerShell     Available


C:\PS> enable-pssessionConfiguration -name * -force

C:\PS> new-pssession -computername localhost

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   localhost       Opened   Microsoft.PowerShell     Available

Beschreibung
-----------
In diesem Beispiel werden die Auswirkungen von Disable-PSRemoting veranschaulicht.

Der erste Befehl deaktiviert alle registrierten Sitzungskonfigurationen auf dem lokalen Computer mithilfe von Disable-PSRemoting.

Der zweite Befehl erstellt mithilfe von New-PSSession eine Remotesitzung auf dem lokalen Computer (auch bekannt als "Loopback"). Da die von der Sitzung benötigten Sitzungskonfigurationen deaktiviert werden, tritt bei der Befehlsausführung ein Fehler auf.

Der dritte Befehl verwendet das Cmdlet "New-PSSession", um eine Sitzung zwischen dem lokalen Computer und dem Remotecomputer "Server01" einzurichten. Dieser Befehl, der die Sitzungskonfigurationen auf dem Remotecomputer verwendet, wird erfolgreich ausgeführt. 

Der vierte Befehl verwendet das Cmdlet "Enable-PSSessionConfiguration", um alle Sitzungskonfigurationen auf dem lokalen Computer erneut zu aktivieren. Der Befehl verwendet den Wert für alle (*) im Name-Parameter. 

Der fünfte Befehl versucht erneut, mit dem Cmdlet "New-PSSession" eine Loopbacksitzung einzurichten. Dieses Mal ist der Befehl erfolgreich, da die von der Sitzung benötigten Sitzungskonfigurationen aktiviert sind.






Beispiel 4

C:\PS>disable-psremoting -force

C:\PS> get-psSessionConfiguration | format-table -property name, permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 Everyone AccessDenied, BUILTIN\Administrators AccessAllowed

C:\PS> enable-psremoting -force
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.

C:\PS>> Get-PSSessionConfiguration | ft name, Permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

Beschreibung
-----------
In diesem Beispiel werden die Auswirkungen von Disable-PSRemoting und Enable-PSRemoting auf die Sitzungskonfigurationen veranschaulicht.

Der erste Befehl verwendet die Funktion "Disable-PSRemoting", um alle registrierten Sitzungskonfigurationen zu deaktivieren. Der force-Parameter unterdrückt alle Benutzeraufforderungen.

Der zweite Befehl verwendet das Cmdlet "Get-PSSessionConfiguration", um die registrierten Sitzungskonfigurationen auf dem Computer anzuzeigen. Der Befehl sendet die Ergebnisse mithilfe eines Pipelineoperators an einen Format-Table-Befehl, mit dem nur die Name-Eigenschaft und die Permission-Eigenschaft der Konfigurationen in einer Tabelle angezeigt werden.

Die resultierende Tabelle zeigt, dass allen Benutzern die Berechtigung für die Konfigurationen verweigert wird.

Der dritte Befehl verwendet das Cmdlet "Enable-PSRemoting", um alle Sitzungskonfigurationen auf dem Computer erneut zu aktivieren. Sie können auch einen Befehl "Enable-PsSessionConfiguration -name *" verwenden. Der Befehl verwendet den Force-Parameter, um alle Benutzeraufforderungen zu unterdrücken und den WinRM-Dienst ohne Aufforderung neu zu starten.

Der vierte Befehl verwendet Get-PSSessionConfiguration und Format-Table, um die Namen und die Berechtigungen der Sitzungskonfigurationen anzuzeigen. Die Ergebnisse zeigen, dass Mitglieder der Gruppe "Administratoren" jetzt über Zugriff auf die Sitzungskonfigurationen verfügen.






Siehe auch




Inhaltsverzeichnis