THEMA about_Remote_FAQ KURZBESCHREIBUNG Enthält Fragen und Antworten zur Ausführung von Remotebefehlen in Windows PowerShell. DETAILBESCHREIBUNG Wenn Sie remote arbeiten, geben Sie Befehle in Windows PowerShell auf einem Computer ("lokaler Computer") ein, die Befehle werden jedoch auf einem anderen Computer ("Remotecomputer") ausgeführt. Wenn Sie remote mit einem Computer arbeiten, sollte sich dies so wenig wie möglich vom Arbeiten direkt auf dem Remotecomputer unterscheiden. Hinweis: Um Windows PowerShell-Remoting zu verwenden, muss der Remotecomputer für Remoting konfiguriert sein. Weitere Informationen finden Sie unter "about_Remote_Requirements". MUSS WINDOWS POWERSHELL AUF BEIDEN COMPUTERN INSTALLIERT SEIN? Ja. Um remote zu arbeiten, müssen der lokale Computer und der Remotecomputer über Windows PowerShell, Microsoft .NET Framework 2.0 sowie über das WS-Management-Protokoll (Web Services for Management) verfügen. Alle Dateien und Ressourcen, die benötigt werden, um einen bestimmten Befehl auszuführen, müssen auf dem Remotecomputer vorhanden sein. Sie müssen über die Berechtigung verfügen, eine Verbindung mit dem Remotecomputer herzustellen, Windows PowerShell auszuführen und auf Datenspeicher (z. B. Dateien und Ordner) sowie auf die Registrierung auf dem Remotecomputer zuzugreifen. Weitere Informationen finden Sie unter "about_Remote_Requirements". WIE FUNKTIONIERT REMOTING? Wenn Sie einen Remotebefehl senden, wird der Befehl über das Netzwerk an das Windows PowerShell-Modul auf den Remotecomputer übertragen und im Windows PowerShell-Client auf dem Remotecomputer ausgeführt. Die Befehlsergebnisse werden an den lokalen Computer zurückgesendet und in der Windows PowerShell-Sitzung auf dem lokalen Computer angezeigt. Um die Befehle zu senden und die Ausgabe zu empfangen, verwendet Windows PowerShell das WS-Management-Protokoll. Informationen über das WS-Management-Protokoll finden Sie in der MSDN (Microsoft Developer Network) Library unter "WS-Management-Protokoll" unter "https://go.microsoft.com/fwlink/?LinkId=144634" (möglicherweise auf Englisch). IST WINDOWS POWERSHELL-REMOTING SICHER? Wenn Sie eine Verbindung mit einem Remotecomputer herstellen, verwendet das System die Anmeldeinformationen (Benutzername und Kennwort) für den lokalen Computer oder die Anmeldeinformationen, die Sie im Befehl zur Anmeldung beim Remotecomputer angeben. Die Anmeldeinformationen sowie die weitere Übertragung werden verschlüsselt. Zur Erhöhung der Sicherheit können Sie den Remotecomputer für Secure Sockets Layer (SSL) anstelle von HTTP konfigurieren, um Anforderungen von Windows Remote Management (WinRM) zu überwachen. Benutzer können dann die UseSSL-Parameter der Cmdlets "Invoke-Command", "New-PSSession" und "Enter-PSSession" beim Herstellen einer Verbindung verwenden. Diese Option verwendet den sichereren HTTPS-Channel anstelle von HTTP. ERFORDERN ALLE REMOTEBEFEHLE WINDOWS POWERSHELL-REMOTING? Nein. Einige Cmdlets verfügen über einen ComputerName-Parameter, mit dem Objekte vom Remotecomputer abgerufen werden können. Diese Cmdlets verwenden kein Windows PowerShell-Remoting. Sie können daher auf jedem Computer mit Windows PowerShell verwendet werden, auch wenn der Computer nicht für Windows PowerShell-Remotin g konfiguriert wurde oder die Anforderungen für Windows PowerShell-Remoting nicht erfüllt. Diese Cmdlets umfassen folgende Cmdlets: Get-Process Get-Service Get-WinEvent Get-EventLog Get-WmiObject Test-Connection Um alle Cmdlets mit einem ComputerName-Parameter zu suchen, geben Sie Folgendes ein: get-help * -parameter ComputerName Informationen darüber, ob der ComputerName-Parameter eines bestimmten Cmdlets Windows PowerShell-Remoting erfordert, finden Sie in der Parameterbeschreibung. Um die Parameterbeschreibung anzuzeigen, geben Sie Folgendes ein: get-help <Cmdlet-Name> -parameter ComputerName Beispiel: get-help get-process -parameter Computername Verwenden Sie das Cmdlet "Invoke-Command" für alle anderen Befehle. WIE führe ich einen Befehl auf einem Remotecomputer aus? Verwenden Sie das Cmdlet "Invoke-Command", um einen Befehl auf einem Remotecomputer auszuführen. Schließen Sie den Befehl in Klammern ( {} ) ein, um einen Skriptblock zu erstellen. Geben Sie den Befehl mit dem ScriptBlock-Parameter von Invoke-Command an. Sie können den ComputerName-Parameter von Invoke-Command verwenden, um einen Remotecomputer anzugeben. Sie können auch eine dauerhafte Verbindung mit einem Remotecomputer (eine Sitzung) erstellen und anschließend den Session-Parameter von Invoke-Command verwenden, um den Befehl in der Sitzung auszuführen. Beispielsweise wird mit den folgenden Befehlen ein Get-Process-Befe hl remote ausgeführt. invoke-command -computername Server01, Server02 -scriptblock {get-process} - oder - invoke-command -session $s -scriptblock {get-process} Um einen Remotebefehl zu unterbrechen, geben Sie STRG+C ein. Die Unterbrechungsanforderung wird an den Remotecomputer übergeben, wo der Remotebefehl beendet wird. Weitere Informationen über Remotebefehle finden Sie unter "about_Remote" und in den Hilfethemen für die Cmdlets mit Remotingunterstützung. KANN ICH EINFACH EINE TELNETVERBINDUNG MIT EINEM REMOTECOMPUTER HERSTELLEN? Mit dem Cmdlet "Enter-PSSession" können Sie eine interaktive Sitzung mit einem Remotecomputer starten. Geben Sie an der Windows PowerShell-Eingabeaufforderung folgenden Befehl ein: Enter-PSSession <Computername> Die Eingabeaufforderung ändert sich, um anzuzeigen, dass eine Verbindung mit dem Remotecomputer hergestellt wurde. <Computername>\C:> Die eingegebenen Befehle werden nun auf dem Remotecomputer ausgeführt, als ob diese direkt auf dem Remotecomputer eingegeben würden. Um die interaktive Sitzung zu beenden, geben Sie Folgendes ein: Exit-PSSession Eine interaktive Sitzung ist eine dauerhafte Sitzung, die das WS-Management-Protokoll verwendet. Dies ist nicht mit der Verwendung von Telnet zu vergleichen, funktioniert jedoch auf ähnliche Weise. Weitere Informationen finden Sie unter "Enter-PSSession". KANN ICH EINE DAUERHAFTE VERBINDUNG ERSTELLEN? Ja. Sie können Remotebefehle ausführen, indem Sie den Namen des Remotecomputers, den NetBIOS-Namen oder die IP-Adresse angeben. Sie können Remotebefehle auch ausführen, indem Sie eine Windows PowerShell-Sitzung (PSSession) angeben, die mit dem Remotecomputer verbunden ist. Wenn Sie den ComputerName-Parameter von Invoke-Command oder Enter-PSSession verwenden, stellt Windows PowerShell eine temporäre Verbindung her. Windows PowerShell verwendet die Verbindung nur zur Ausführung des aktuellen Befehls, anschließend wird die Verbindung geschlossen. Dabei handelt es sich um eine sehr effiziente Methode zur Ausführung eines einzelnen Befehls oder mehrerer nicht verknüpfter Befehle; dies gilt auch bei Verwendung zahlreicher Remotecomputer. Wenn Sie das Cmdlet "New-PSSession" verwenden, um eine PSSession zu erstellen, stellt Windows PowerShell eine dauerhafte Verbindung für die PSSession her. Anschließend können Sie mehrere Befehle einschließlich Befehle mit gemeinsamen Daten in der PSSession ausführen. PSSessions werden normalerweise erstellt, um eine Reihe verwandter Befehle auszuführen, die Daten gemeinsam verwenden. Andernfalls ist die temporäre Verbindung, die vom ComputerName-Par ameter erstellt wurde, für die meisten Befehle ausreichend. Weitere Informationen über Sitzungen finden Sie unter "about_PSSessions". KANN ICH BEFEHLE AUF MEHREREN COMPUTERN GLEICHZEITIG AUSFÜHREN? Ja. Der ComputerName-Parameter des Cmdlet "Invoke-Command" akzeptiert mehrere Computernamen, und der Session-Parameter akzeptiert mehrere PSSessions. Wenn Sie einen Invoke-Command-Befehl ausführen, führt Windows PowerShell die Befehle auf allen angegebenen Computern oder in allen angegebenen PSSessions aus. Windows PowerShell kann Hunderte von Remoteverbindungen gleichzeitig verwalten. Die Anzahl der Remotebefehle, die Sie senden können, kann jedoch durch die Ressourcen des Computers und dessen Kapazität, mehrere Netzwerkverbindungen herzustellen und beizubehalten, beschränkt werden. Weitere Informationen finden Sie im Beispiel des Hilfethemas für Invoke-Command. WO FINDE ICH MEINE PROFILE? Windows PowerShell-Profile werden nicht automatisch in Remotesitzungen ausgeführt. Die Befehle, die vom Profil hinzugefügt werden, sind daher in der Remotesitzung nicht vorhanden. Ferner wird die automatische Variable "$profile" nicht in Remotesitzungen aufgefüllt. Verwenden Sie das Cmdlet "Invoke-Command", um ein Profil in einer Sitzung auszuführen. Beispielsweise wird mit dem folgenden Befehl das CurrentUserCurren tHost-Profil vom lokalen Computer in der Sitzung in $s ausgeführt. invoke-command -session $s -filepath $profile Beispielsweise wird mit dem folgenden Befehl das CurrentUserCurren tHost-Profil vom Remotecomputer in der Sitzung in $s ausgeführt. Da die Variable "$profile" nicht aufgefüllt wird, verwendet der Befehl den expliziten Pfad für das Profil. invoke-command -session $s {. "$home\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"} Die Befehle, die der Sitzung vom Profil hinzugefügt werden, sind nach Ausführen des Befehls in $s verfügbar. Sie können ein Startskript auch in einer Sitzungskonfiguration verwenden, um ein Profil in jeder Remotesitzung auszuführen, die die Sitzungskonfiguration verwendet. Weitere Informationen über die Windows PowerShell-Profile finden Sie unter "about_Profiles". Weitere Informationen zu Sitzungskonfigurationen finden Sie unter "Register-PSSessionConfig uration". WIE FUNKTIONIEREN EINSCHRÄNKUNGEN IN REMOTE-BEFEHLEN? Zur Unterstützung der Verwaltung von Ressourcen auf dem lokalen Computer enthält Windows PowerShell eine befehlsbasierte Einschränkungsfunktion, mit der Sie die Anzahl gleichzeitiger Remoteverbindungen pro Befehl begrenzen können. Der Standard ist 32 gleichzeitige Verbindungen. Sie können jedoch mit dem ThrottleLimit-Parameter der Cmdlets eine benutzerdefinierte Grenze für bestimmte Befehle festlegen. Bedenken Sie bei der Verwendung des Einschränkungsfeatures, dass es auf jeden Befehl und nicht auf die gesamte Sitzung oder den gesamten Computer angewendet wird. Wenn Sie Befehle gleichzeitig in mehreren Sitzungen oder PSSessions ausführen, ist die Anzahl der gleichzeitigen Verbindungen die Summe der gleichzeitigen Verbindungen in allen Sitzungen. Um Cmdlets mit einem ThrottleLimit-Parameter zu suchen, geben Sie Folgendes ein: get-help * -parameter ThrottleLimit GIBT ES SYSTEMSPEZIFISCHE UNTERSCHIEDE BEIM REMOTING? Beim Ausführen von Befehlen auf mehreren Computern müssen Unterschiede, beispielsweise im Hinblick auf das Betriebssystem, die Dateisystemstruktur und die Registrierung, beachtet werden. Wenn Sie eine Verbindung mit einem Remotecomputer herstellen, auf dem Windows Vista oder Windows Server 2003 ausgeführt wird, ist der Standardausgangspunkt das Stammverzeichnis des aktuellen Benutzers, das in der Umgebungsvariablen "%homepath%" ($env:homepath) und in der Windows PowerShell-Variablen "$home" gespeichert wird. Das Stammverzeichnis in Windows Vista ist in aller Regel C:\Users\<Benutzername>. Das Stammverzeichnis in Windows Server 2003 ist in aller Regel C:\Dokumente und Einstellungen\<Benutzername> Wenn Sie eine Verbindung mit einem Remotecomputer herstellen, auf dem Windows XP ausgeführt wird, ist der Standardausgangspunkt das Stammverzeichnis des Standardbenutzers, das für den Standardbenutze r in der Umgebungsvariablen "%homepath%" ($env:homepath) gespeichert wird. Das Stammverzeichnis ist in aller Regel C:\Dokumente und Einstellungen\Default User. UNTERSCHEIDET SICH DIE AUSGABE VON REMOTE-BEFEHLEN VON DER LOKALEN AUSGABE? Wenn Sie Windows PowerShell lokal verwenden, senden und empfangen Sie "aktive".NET Framework-Objekte. "Aktive" Objekte sind Objekte, die mit tatsächlichen Programmen oder Systemkomponenten verknüpft sind. Wenn Sie die Methoden aufrufen oder die Eigenschaften von echten Objekten ändern, wirken sich die Änderungen auf das tatsächliche Programm oder die Komponente aus. Wenn sich die Eigenschaften eines Programms oder einer Komponente ändern, ändern sich auch die Eigenschaften des Objekts, das sie darstellen. Da die meisten dieser Objekte jedoch nicht über das Netzwerk gesendet werden können, werden sie von Windows PowerShell vor dem Senden in Remotebefehlen "serialisiert", d. h. die einzelnen Objekte werden für die Übertragung in eine Reihe von XML (Einschränkungssprache in XML [CLiXML])-Datenelementen konvertiert. Wenn Windows PowerShell ein serialisiertes Objekt empfängt, wird das XML in einen deserialisierten Objekttyp konvertiert. Das deserialisierte Objekt enthält genaue Angaben über die Eigenschaften des Programms oder der Komponente zu einem früheren Zeitpunkt. Es handelt sich jedoch nicht mehr um ein "echtes" Objekt, da es nicht mehr direkt mit der Komponente verknüpft ist. Außerdem werden die Methoden entfernt, da sie nicht mehr gültig sind. Normalerweise können deserialisierte Objekte wie echte Objekte verwendet werden, wenn die diesbezüglichen Einschränkungen beachtet werden. Außerdem verfügen die Objekte, die vom Cmdlet "Invoke-Command" zurückgegeben werden, über zusätzliche Eigenschaften, die Ihnen helfen, den Ursprung des Befehls zu bestimmen. Einige Objekttypen, z. B. DirectoryInfo-Objekte und GUIDs, werden beim Empfang zurück in Liveobjekte konvertiert. Bei diesen Objekten ist keine spezielle Behandlung oder Formatierung notwendig. Weitere Informationen über Hintergrundaufträge in Windows PowerShell finden Sie unter "about_Jobs" und "about_Remote_Jobs". KÖNNEN HINTERGRUNDAUFTRÄGE REMOTE AUSGEFÜHRT WERDEN? Ja. Ein Windows PowerShell-Hintergrundauftrag ist ein Windows PowerShell-Befehl, der asynchron und ohne Interaktion mit der Sitzung ausgeführt wird. Wenn Sie einen Hintergrundauftrag starten, wird die Eingabeaufforderung sofort zurückgegeben, und Sie können weiterhin in der Sitzung arbeiten, während der Auftrag ausgeführt wird; dies gilt auch, wenn für die Ausführung des Auftrags ein längerer Zeitraum erforderlich ist. Hintergrundaufträge können auch während der Ausführung anderer Befehle gestartet werden, da Hintergrundaufträge in einer temporären Sitzung immer asynchron ausgeführt werden. Sie können Hintergrundaufträge auf einem lokalen Computer oder auf einem Remotecomputer ausführen. Standardmäßig werden Hintergrundaufträge auf dem lokalen Computer ausgeführt. Sie können jedoch den AsJob-Parameter des Cmdlet "Invoke-Command" verwenden, um einen beliebigen Remotebefehl als Hintergrundauftrag auszuführen. Außerdem können Sie mit Invoke-Command einen Start-Job-Befehl remote ausführen. Weitere Informationen über Hintergrundaufträge in Windows PowerShell erhalten Sie mit dem Befehl "about_jobs". KÖNNEN WINDOWS-PROGRAMME AUF EINEM REMOTECOMPUTER AUSGEFÜHRT WERDEN? Sie können Windows-basierte Programme mit Windows PowerShell-Remot ebefehlen auf Remotecomputern ausführen. Beispielsweise können Sie "Shutdown.exe" oder "Ipconfig" auf einem Remotecomputer ausführen. Sie können Windows PowerShell-Befehle jedoch nicht verwenden, um die Benutzeroberfläche für ein Programm auf einem Remotecomputer zu öffnen. Wenn Sie ein Windows-Programm auf einem Remotecomputer starten, werden der Befehl erst abgeschlossen und die Windows PowerShell-Eingabeaufforderung erst zurückgegeben, wenn das Programm beendet wurde oder Sie STRG+C drücken, um den Befehl zu unterbrechen. Wenn Sie beispielsweise das Programm "Ipconfig" auf einem Remotecomputer ausführen, wird die Eingabeaufforderung erst zurückgegeben, wenn Ipconfig abgeschlossen wurde. Wenn Sie Programme mit einer Benutzeroberfläche mit Remotebefehlen starten, wird der Programmprozess gestartet, die Benutzeroberfläche wird jedoch nicht angezeigt. Der Windows PowerShell-Befehl wird erst ausgeführt und die Eingabeaufforderung erst zurückgegeben, wenn der Programmprozess beendet wurde oder Sie STRG+C drücken, um den Befehl zu unterbrechen und den Prozess beenden. Wenn Sie beispielsweise einen Windows PowerShell-Befehl verwenden, um Editor auf einem Remotecomputer auszuführen, wird der Editor-Prozess auf dem Remotecomputer gestartet, aber die Editor-Benutzeroberfläche wird nicht angezeigt. Um den Befehl zu unterbrechen und die Eingabeaufforderung wiederherzustellen, drücken Sie STRG+C. KANN DIE ANZAHL DER BEFEHLE BEGRENZT WERDEN, DIE REMOTE AUF DEM COMPUTER AUSGEFÜHRT WERDEN KÖNNEN? Ja. Jede Remotesitzung muss eine der Sitzungskonfigurationen auf dem Remotecomputer verwenden. Sie können die Sitzungskonfiguration en auf dem Computer (und die Berechtigungen für diese Sitzungskonfigurationen) verwalten, um zu bestimmen, welche Benutzer welche Befehle remote auf dem Computer ausführen können. Eine Sitzungskonfiguration konfiguriert die Umgebung für die Sitzung. Sie können die Konfiguration mit einer Assembly definieren, die eine neue Konfigurationsklasse implementiert, oder mit einem Skript, das in der Sitzung ausgeführt wird. Mit der Konfiguration können die Befehle bestimmt werden, die in der Sitzung verfügbar sind. Außerdem kann die Konfiguration Einstellungen enthalten, die den Computer schützen, beispielsweise Einstellungen, die die Datenmenge begrenzen, die von der Sitzung in einem einzelnen Objekt oder einem einzelnen Befehl remote empfangen werden können. Sie können auch eine Sicherheitsbeschreibung angeben, die die Berechtigungen bestimmt, die erforderlich sind, um die Konfiguration zu verwenden. Das Cmdlet "Enable-PSRemoting" erstellt eine Konfiguration für eine Standardsitzung auf dem Computer: Microsoft.PowerShell (Microsoft.PowerShell32 für 64-Bit-Betriebssysteme). Enable-PSRemoting legt die Sicherheitsbeschreibung für die Konfiguration fest, um die Verwendung auf Mitglieder der Gruppe "Administratoren" auf dem Computer zu beschränken. Sie können die Cmdlets für die Sitzungskonfiguration verwenden, um die Konfigurationen für die Standardsitzung zu bearbeiten, neue Sitzungskonfigurationen zu erstellen und die Sicherheitsbesch reibungen von Sitzungskonfigurationen zu ändern. Wenn Benutzer die Cmdlets "Invoke-Command", "New-PSSession" oder "Enter-PSSession" verwenden, können sie mit dem ConfigurationName- Parameter die Sitzungskonfiguration angeben, die für die Sitzung verwendet wird. Außerdem kann der Wert der Standardkonfiguration für die Sitzungen geändert werden, indem der Wert der Einstellungsvariablen "$PSSessionConfigurationName" in der Sitzung geändert wird. Weitere Informationen über Sitzungskonfigurationen finden Sie in der Hilfe für die Cmdlets der Sitzungskonfiguration. Um die Cmdlets der Sitzungskonfiguration zu suchen, geben Sie Folgendes ein: get-command *pssessionconfiguration WAS SIND FAN-IN- UND FAN-OUT-KONFIGURATIONEN? Das gängigste Windows PowerShell-Remoting-Szenario mit mehreren Computern ist die 1:n-Konfiguration, in der ein lokaler Computer (der Computer des Administrators) Windows PowerShell-Befehle von zahlreichen Remotecomputern empfängt. Dies wird als "FAN-OUT"-Szena rio bezeichnet. Einige Unternehmen verfügen jedoch über eine n:1-Konfiguration, in der viele Clientcomputer eine Verbindung mit einem einzelnen Remotecomputer herstellen, auf dem Windows PowerShell ausgeführt wird, beispielsweise ein Dateiserver oder ein Kiosk. Dies wird als "FAN-IN"-Konfiguration bezeichnet. Windows PowerShell-Remoting unterstützt sowohl FAN-OUT- als auch FAN-IN- Konfigurationen. Für die FAN-OUT-Konfiguration verwendet Windows PowerShell das WS-Management-Protokoll (Web Services for Management) und den WinRM-Dienst, der die Microsoft-Implementierung von WS-Management unterstützt. Wenn ein lokaler Computer eine Verbindung mit einem Remotecomputer herstellt, stellt WS-Management eine Verbindung her und verwendet ein Plug-In für Windows PowerShell, um den Windows PowerShell-Hostprozess ("Wsmprovhost.exe") auf dem Remotecomputer zu starten. Benutzer können einen alternativen Port, eine alternative Sitzungskonfiguration und andere Features angeben, um die Remoteverbindung anzupassen. Zur Unterstützung der "FAN-IN"-Konfiguration verwendet Windows PowerShell Internetinformationsdienste (IIS), um WS-Management zu hosten, das Windows PowerShell-Plug-In zu laden und Windows PowerShell zu starten. In diesem Szenario werden alle Windows PowerShell-Sitzungen in einem Hostprozess ausgeführt, anstatt jede Sitzung in einem separaten Prozess zu starten. IIS-Hosting und die FAN-IN-Remoteverwaltung werden unter Windows XP oder Windows Server 2003 nicht unterstützt. In einer FAN-IN-Konfiguration können Benutzer einen Verbindungs-URI und einen HTTP-Endpunkt einschließlich Transport, Computername, Port und Anwendungsname angeben. IIS leitet alle Anforderungen mit einem angegebenen Anwendungsnamen an die Anwendung weiter. Die Standardanwendung ist WS-Management, die Windows PowerShell hosten kann. Sie können auch einen Authentifizierungsmechanismus angeben und die Umleitung von HTTP- und HTTPS-Endpunkten verhindern oder zulassen. KANN REMOTING AUF EINEM EINZELNEN COMPUTER (NICHT IN EINER DOMÄNE) GETESTET WERDEN? Ja. Windows PowerShell-Remoting ist auch dann verfügbar, wenn sich der lokale Computer nicht in einer Domäne befindet. Sie können die Remotingfeatures verwenden, um eine Verbindung mit Sitzungen herzustellen und Sitzungen auf dem gleichen Computer zu erstellen. Die Features erfüllen die gleichen Aufgaben wie beim Herstellen einer Verbindung mit einem Remotecomputer. Um Remotebefehle auf einem Computer in einer Arbeitsgruppe auszuführen, ändern Sie die folgenden Windows-Einstellungen auf dem Computer. Vorsicht: Diese Einstellungen wirken sich auf alle Benutzer des Systems aus, und sie können das System anfälliger für böswillige Angriffe machen. Nehmen Sie solche Änderungen mit Bedacht vor. -- Windows XP mit SP2: Ändern Sie im Fenster "Lokale Sicherheitseinstellungen" (Secpol.msc) die Einstellung für die Richtlinie "Netzwerkzugriff: Modell für gemeinsame Nutzung und Sicherheitsmodell für lokale Konten" unter "Sicherheitseinstel lungen\Lokale Richtlinien\Sicherheitsoptionen" in "Klassisch". -- Windows Vista: Erstellen Sie den folgenden Registrierungseintrag, und legen Sie den Wert auf "1" fest: LocalAccountTokenFilterPolicy in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System Sie können den folgenden Windows PowerShell-Befehl verwenden, um diesen Eintrag hinzuzufügen: new-itemproperty ` -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System ` -name LocalAccountTokenFilterPolicy -propertyType DWord -value 1 -- Windows 2003: Es sind keine Änderungen erforderlich, da die Standardeinstell ung für die Richtlinie "Netzwerkzugriff: Modell für gemeinsame Nutzung und Sicherheitsmodell für lokale Konten" auf "Klassisch" festgelegt ist. Überprüfen Sie die Einstellung, falls diese geändert wurde. KÖNNEN REMOTEBEFEHLE AUF EINEM COMPUTER IN EINER ANDEREN DOMÄNE AUSGEFÜHRT WERDEN? Ja. Die Befehle werden normalerweise fehlerfrei ausgeführt. Möglicherweise müssen Sie jedoch den Credential-Parameter des Cmdlet "Invoke-Command", "New-PSSession" oder "Enter-PSSession" verwenden, um die Anmeldeinformationen eines Mitglieds der Gruppe "Administratoren" auf dem Remotecomputer bereitzustellen. Dies ist manchmal auch dann erforderlich, wenn der aktuelle Benutzer Mitglied der Gruppe "Administratoren" auf dem lokalen Computer und auf dem Remotecomputer ist. Wenn sich der Remotecomputer jedoch nicht in einer Domäne befindet, die vom lokalen Computer als vertrauenswürdig eingestuft wird, kann die Authentifizierung der Anmeldeinformation en des Benutzers durch den Computer möglicherweise nicht durchgeführt werden. Mit dem folgenden Befehl können Sie den Remotecomputer der Liste der vertrauenswürdigen Hosts für den lokalen Computer in WinRM hinzufügen, um die Authentifizierung zu aktivieren. Geben Sie den Befehl an der Windows PowerShell-Eingabeaufforderung ein. set-item WSMan:\localhost\Client\TrustedHosts -value <Remote-computer-name> Um beispielsweise den Computer "Server01" der Liste der vertrauenswürdigen Hosts auf dem lokalen Computer hinzuzufügen, geben Sie den folgenden Befehl an der Windows PowerShell-Eingabeau fforderung ein: set-item WSMan:\localhost\Client\TrustedHosts -value Server01 SIEHE AUCH about_Remote about_Profiles about_PSSessions about_Remote_Jobs Invoke-Command New-PSSession