Disable-PSRemoting
Verhindert, dass der Computer Windows PowerShell-Remotebefehle empfängt.
Syntax
Disable-PSRemoting [-Force] [-Confirm] [-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 |
-Confirm
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 |
Keiner Eingaben können nicht über die Pipeline an dieses Cmdlet übergeben werden. |
Ausgaben |
Keiner 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
Konzepte
Enable-PSRemoting
Disable-PSSessionConfiguration
Get-PSSessionConfiguration
Register-PSSessionConfiguration
Set-PSSessionConfiguration
Unregister-PSSessionConfiguration
WSMan Provider