Windows PowerShell: Problembehandlungspakete

Die neuen Problembehandlungspakete unter Windows 7 stellen Ihnen Anleitungen zur Behebung der häufigsten Fehler bereit, mit denen Sie wahrscheinlich konfrontiert werden.

Don Jones

Die Fehlerbehebung für Windows 7 ist möglicherweise einfacher, als Sie denken. Es sind mehrere neue Fehlerbehebungspakete in Windows 7 enthalten, zusammen mit einer Infrastruktur, die diese und zukünftige Arten von Fehlerbehebungspaketen unterstützt.

Diese Pakete stellen eine grafische Benutzeroberfläche bereit, die als eine Art Assistent funktioniert, Sie durch spezifische Probleme führt und Ihnen mögliche Lösungen für die Behebung dieser Probleme vorschlägt. In zahlreichen Fällen können diese Pakete die vorgeschlagenen Behebungen sogar automatisch durchführen und Ihnen so helfen, Probleme schnell zu beheben, ohne dass Sie dafür über das notwendige technische Detailwissen verfügen müssen.

Moment… eine grafische Benutzeroberfläche und Assistenten in einer Windows PowerShell-Spalte? Keine Sorge: Ich habe meinen Verstand nicht verloren, jedenfalls nicht mehr als gewöhnlich.

Wie zahlreiche andere Funktionen von Windows Server 2008 R2 und Windows 7, wurden diese Fehlerbehebungspakete in gewisser Weise auf die Windows PowerShell „aufgesetzt“. Sie können auf sie über die grafische Benutzeroberfläche oder über die Windows PowerShell-Befehlszeile zugreifen. Dies eröffnet Ihnen, Ihren Benutzern und sogar Ihren Servern ungeahnte Möglichkeiten für die Automatisierung der Fehlerbehebung und Problemlösung.

Beachten Sie, dass diese Fehlerbehebungspakete nur in Windows 7 und Windows Server 2008 R2 verfügbar sind. Sie werden voraussichtlich auch in zukünftigen Windows-Versionen verfügbar sein.

Erste Schritte

Beginnen Sie, indem Sie das neue Fehlerbehebungspaketmodul in die Shell importieren:

Import-Module TroubleshootingPack

Um die Befehle anzuzeigen, die von diesem Modul hinzugefügt werden, führen Sie Folgendes aus:

Get-Command –module troubleshootingpack

Es werden zwei neue cmdlets angezeigt: Get-TroubleshootingPack und Invoke-TroubleshootingPack.

Das scheint nicht allzu kompliziert zu werden. Bei der Ausführung von Get-TroubleshootingPack werden Sie jedoch sofort zur Eingabe eines Pfads aufgefordert. Es ist nicht unmittelbar ersichtlich, welcher Pfad verlangt wird. In solchen Fällen lesen Sie am besten die Hilfe, insbesondere die Beispiele.

Wenn Sie das Beispiel für Get-TroubleshootingPack ausführen, wird ersichtlich, dass der Befehl den Pfad für ein Fehlerbehandlungspaket auf der Festplatte erwartet. Die Pakete werden standardmäßig in C:\Windows\Diagnostics gespeichert, in einer Unterordnerhierarchie. Der Unterordner \index subfolder enthält eine Liste der verfügbaren Pakete. Der Ordner \system enthält alle aktuell installierten Pakete.

Die auf einem System verfügbaren Pakete sind von den installierten Funktionen und der installierten Software abhängig. Beispielsweise werden von einigen Anwendungen eigene Pakete installiert. Diese werden möglicherweise sogar in eigenen Unterordnern installiert. Beginnen wir, indem wird das Power-Fehlerbehebungspaket aufrufen:

Get-TroubleshootingPack c:\windows\diagnostics\system\power | fl *

Dieser Code gibt eine Liste der Eigenschaften des Pakets zurück, einschließlich der Version, des Publishers usw. Es werden nicht sehr viele Informationen bereitgestellt; Sie erfahren jedoch, welche Versionen von Windows (Server- und Clientversionen) und welche x86-, AMD64- und IA64-Architekturen unterstützt werden. Um das Fehlerbehebungspaket auszuführen, können Sie das Paket an Invoke-TroubleshootingPack weiterreichen:

Get-TroubleshootingPack c:\windows\diagnostics\system\power |
Invoke-TroubleshootingPack

Dadurch wird das Paket im interaktiven Modus aufgerufen. Anstelle einer grafischen Benutzeroberfläche bzw. eines Assistenten wird jedoch ein Befehlszeilen-Textmenüsystem angezeigt, das Sie durch den Fehlerbehebungsprozess des Pakets führt.

Automatisieren von Prozessen

Wenn ein Fehlerbehebungspaket eine bestimmte Reihe von Prüfungen durchführen soll, ohne dass Sie sämtliche Menüoptionen manuell festlegen müssen, geben Sie eine XML-Antwortdatei an. Verwenden Sie hierfür den Parameter –answer von Invoke-TroubleshootingPack. Weisen Sie anschließend mittels des Parameters –unattend die Ausführung des Pakets im nicht überwachten Modus an.

Sie können mittels Get-TroubleshootingPack, des Parameters –answer und eines Dateinamens eine Vorlagenantwortdatei erstellen.

Get-TroubleshootingPack c:\windows\diagnostics\system\power –answer power-answers.xml

Das angegebene Fehlerbehebungspaket wird ausgeführt und wird Sie zur Eingabe von Antworten auf sämtliche standardmäßig gestellten Fragen auffordern. Anstatt jedoch eine Aktion durchzuführen, werden die Antworten in einer XML-Antwortdatei gespeichert. Sie können diese anschließend für die Eingaben für Invoke-TroubleshootingPack verwenden.

So können standardmäßige Fehlerbehebungsroutinen für häufige Probleme erstellt werden. Sie können diese Antwortdateien beispielsweise auch dem Helpdesk bereitstellen, sodass dessen Mitarbeiter vordefinierte Prozesse auf eine schnellere, konsistentere und effizientere Weise durchführen können.

Remoteausführen von Prozessen

Möchten Sie eine Remotefehlerbehebung ausführen? Windows PowerShell 2 verfügt über hervorragende Remotefunktionen. Sie können diese genauso einfach auf Clientcomputern aktivieren, wie Sie dies auf Servern tun. Solange ein Benutzer über eine Netzwerkverbindung verfügt, ist dies möglich. Sie müssen nur Code wie den folgenden ausführen:

Enter-PSSession –computername WIN7G4T53R
Get-TroubleshootingPack c:\windows\diagnostics\system\aero |
  Invoke-TroubleshootingPack

Sie führen nun von Ihrer eigenen Arbeitsstation aus das Fehlerbehebungspaket auf dem Remotecomputer aus. Im Folgenden finden Sie einige Tipps hierzu:

  • Stellen Sie sicher, dass Ihre Kollegen die Namen der Computer der Benutzer schnell nachschlagen können.
  • Verwenden Sie eine Gruppenrichtlinie, um auf allen Clientcomputern die Remoteausführung von WinRM und Windows PowerShell zu ermöglichen.
  • Speichern Sie die Antwortdateien für Fehlerbehebungspakete auf einem Dateiserver. Der Parameter –answer der cmdlets beider Fehlerbehebungspakete akzeptiert UNC, sodass Sie keine Laufwerke zuordnen müssen. Verwenden Sie eine DFSR-UNC, und speichern Sie Kopien der Antwortdateien an mehreren Speicherorten im Unternehmen, sodass alle Clientcomputer auf diese zugreifen können.

Automatisierte Remotefehlerbehebung mittels Befehlszeilen

Durch die neuen Fehlerbehebungspakete sowie durch die Tatsache, dass auf diese innerhalb von Windows PowerShell zugegriffen werden kann, sind zahlreiche neue Funktionen verfügbar. Sie können Fehler für die Aero-Oberfläche, Audiofunktionen, Hardwaregeräte, Internet Explorer, Netzwerkfunktionen, PCW, Leistungsfunktionen, Energieverwaltungsfunktionen, Drucker, Suchfunktionen, Windows Media und Windows Update beheben – und dies sind nur einige der aktuell verfügbaren Optionen.

Sie müssen die Benutzer nicht mehr telefonisch durch den Prozess führen („Klicken Sie auf ‚Weiter‛ … Klicken Sie noch mal auf ‚Weiter‛ … Halt, nicht zweimal … Nein, Sie müssen jetzt auf ‚Zurück‛ klicken … Nein … Nein … Starten Sie den Computer am besten neu“). Stattdessen steuern Sie selbst die Fehlerbehebung direkt auf den Computern der Benutzer. Sie benötigen keine Remotetechnologien, die einen höheren Aufwand erfordern, wie Remotedesktop, Remoteunterstützung usw.

Don Jones

Don Jones* ist einer der Gründer von Concentrated Technology und beantwortet Fragen zu Windows PowerShell und anderen Technologien auf ConcentratedTech.com. Er ist außerdem einer der Autoren von Nexus.Realtimepublishers.com. Von dieser Website aus sind zahlreiche seiner Bücher als kostenlose elektronische Ausgaben auf seiner eigenen Website verfügbar.*

 

Verwandter Inhalt