Windows PowerShell – was es ist, Funktionen und Anforderungen. Windows PowerShell: Was sind die Powershell-Cmdlets dieses Programms?

Mit geheimnisvoller Schrift und einem ständig blinkenden Cursor? Dies ist die Befehlszeile. Das Dienstprogramm ist in allen Windows-Versionen vorhanden. Mit seiner Hilfe ist es bequem, das System zu verwalten, Programme aufzurufen und Dateien zu finden. Für professionelles Arbeiten ist cmd jedoch nicht funktionsfähig genug. Aus diesem Grund hat Microsoft beschlossen, alle Nachteile der Konsole zu beheben und ein Produkt namens Windows PowerShell herauszubringen. Was es ist und wie man die Entwicklung nutzt, lesen Sie weiter.

Was ist PowerShell unter Windows?

PowerShell ist eine interaktive, objektorientierte Befehlsumgebung mit Skriptsprachenfunktionen. Die offizielle Veröffentlichung von PowerShell 1.0 durch Microsoft erfolgte am 14. November 2006. Für die Verwaltung lokaler und entfernter Netzwerke haben die Entwickler die übliche CLI-Befehlszeilenschnittstelle mit der .NET Framework-Plattform kombiniert.

Beachten Sie, dass es sich bei Windows PowerShell nicht um eine einfache Betriebssystem-Shell handelt. Microsoft hat ein leistungsstarkes, erweiterbares und dennoch flexibles Verwaltungsautomatisierungstool entwickelt, das als dedizierte Skriptsprache fungieren kann.

Am 18. August 2016 gab Microsoft bekannt, dass Windows PowerShell nun ein Open-Source-Produkt ist, das jedem Entwickler zur Verfügung steht. Das Unternehmen fügte außerdem Unterstützung für Unix-basierte Betriebssysteme hinzu, einschließlich Linux- und OS-X-Distributionen.

So verwalten Sie PowerShell

Cmdlets oder Cmdlets werden zum Ausführen von Aufgaben verwendet. Dabei handelt es sich um kleine Befehle, die als ausführbare Dateien geschrieben sind. In Version 2.0 von PowerShell für Windows XP und Server 2008 R2 haben die Entwickler Module hinzugefügt, mit denen Sie mehr Ressourcen verwalten können, darunter Active Directory und Exchange Server.

Mittlerweile sind über 130 Module und Befehle in das PowerShell-Automatisierungstool integriert. Sie bieten Zugriff auf Dateien, Netzwerke, Registrierung, Verwaltung und andere Systemfunktionen:

  • Uhrzeit und Datum einstellen;
  • Arbeiten mit Ordnern und einzelnen Dateien;
  • Hilfe und zusätzliche Informationen erhalten;
  • Datenimport und -speicherung;
  • Skripttechniken;
  • separate Skripte und Anwendungen;
  • Überprüfen der Systemsicherheit und Arbeiten mit Deskriptoren;
  • Systemadministration;
  • Überprüfen des Speicherplatzes.

Da es sich bei Windows PowerShell um eine erweiterbare Umgebung handelt, können Benutzer ihre eigenen Befehle erstellen und „Autoren“-Module mithilfe der .Net-Sprache schreiben.

Erste Schritte mit PowerShell

Die neueste Beta-Version 6.0 von PowerShell wurde 2016 veröffentlicht. In Windows 7, 8 und 10 ist das Dienstprogramm integriert. Wenn Sie ein anderes Betriebssystem verwenden, müssen Sie die Anwendung herunterladen. Gehen Sie dazu auf die offizielle Website microfoft.com und geben Sie „Installing Windows PowerShell“ in das Suchfeld ein. Das System führt Sie automatisch zu einer Seite mit den neuesten Produktveröffentlichungen. Wählen Sie Ihr Betriebssystem aus der Liste aus und klicken Sie auf Herunterladen.

Wenn die Datei vollständig heruntergeladen ist, doppelklicken Sie darauf, um sie zu öffnen. Standardmäßig wird die Umgebung unter ProgramFiles\PowerShell\ installiert und eine Verknüpfung im Startmenü erstellt. Wenn Sie ein zufriedener Windows-Benutzer sind, klicken Sie auf das Systemsymbol in der unteren linken Ecke und geben Sie PowerShell unter „Programme und Dateien durchsuchen“ ein. Starten Sie die Anwendung, geben Sie Ihr erstes Cmdlet ein und legen Sie los.

Liste der erforderlichen Befehle und Anweisungen für PowerShell

Jeder Cmdlet-Name liegt in der Form eines Verbs, eines Substantivs oder eines Aktionsobjekts vor. Wir bieten eine Liste der wichtigsten PowerShell-Cmdlets für Windows 10 und frühere Versionen, beginnend mit XP. Sie werden auch für unerfahrene Benutzer nützlich sein, die erst gestern gelernt haben, Textdokumente zu speichern.

  1. Hilfe bekommen. Ein in den Shell-Kern integriertes Cmdlet. Entwickelt, um Hilfe aufzurufen und nützliche Informationen zu Syntax, Programmen, ihrem Zweck und anderen Cmdlets bereitzustellen. Wenn Sie ipconfig /? in einem regulären Befehlsinterpreter geschrieben haben, müssen Sie in PowerShell Get-Help Get-Process eingeben.
  2. Get-Content. Vereinfacht das Lesen von Dateien für Anfänger und Systemadministratoren. War es früher notwendig, den Deskriptor zu öffnen und alle Zeilen des Dokuments einzeln zu lesen, reicht es jetzt aus, die Datei an das Cmdlet zu übergeben. Geben Sie dazu in der Konsole C:\>Get-Content C:\...\"Dateiname.""Erweiterung" ein.
  3. Get-Service. Zugriff auf Informationen über auf dem Computer installierte Dienste.
  4. Get-Mitglied. Zeigt Informationen über das vom Cmdlet zurückgegebene Objekt an und ermöglicht Ihnen, seine Eigenschaften und Methoden anzuzeigen.
  5. Get-Befehl. Sucht nach Cmdlets und gibt alle Informationen darüber zurück, einschließlich Daten zu Funktionen, Skripts, Anwendungen und anderen Elementen. Version 5.0 von PowerShell für Windows 10 hat Get-Command eine Versionsspalte hinzugefügt, sodass CommandDet jetzt mehrere Versionen desselben Moduls anzeigt.
  6. Stopp-\Start-Dienst. Ein unverzichtbarer Assistent für Administratoren. Das Cmdlet startet und stoppt Dienste auf Remote- und lokalen Computern.

Sonderzeichen für Skripte

Zusätzlich zu Cmdlets enthält PowerShell in Windows 7 und höher Sonderzeichen wie $_ oder (). Bei Einsteigern, die sich noch nicht mit Linux-ähnlichen Systemen oder der Programmierung beschäftigt haben, sorgen die Icons für die größte Verwirrung.

  1. Der vertikale Balken „|“. Dieses Symbol wird für Pipeline-Programme verwendet. Wenn Sie mit der Konsole arbeiten, wird sie aktiviert, wenn Sie den Befehl rechts von der vertikalen Leiste anweisen möchten, die Ausgabe des Befehls links zu akzeptieren. In PowerShell wird die vertikale Leiste für fast den gleichen Zweck verwendet und mehrere Befehle gleichzeitig zusammengefasst. Erstellen Sie beispielsweise einen neuen Benutzernamen, fügen Sie ihn einer Gruppe hinzu und setzen Sie das Standardkennwort zurück.
  2. Funktionszeichen „()“. Ermöglicht Ihnen, den Prozess der Skriptausführung effektiv zu steuern. Wie in C-ähnlichen Programmiersprachen wird eine Funktion in PowerShell durch das Einschließen mehrerer Cmdlets in geschweifte Klammern gebildet und kann so oft wie nötig ausgeführt werden.
  3. Sonderzeichen $_. Wird zum Schreiben von Skriptblöcken, Filtern und prozeduralen Ausdrücken verwendet. $_ nimmt den Wert des aktuellen Objekts und übergibt ihn an das nächste. Sie können ein Dollarzeichen ohne Unterstrich verwenden, um eine Variable darzustellen oder einzugeben: $var = „Hallo“.

Was ist PowerShell ISE?

Das PowerShell-Dienstprogramm wird mit einer grafischen Windows PowerShell ISE-Anwendung geliefert. Es handelt sich um eine Shell oder integrierte Umgebung zum Schreiben von Skripten. ISE bietet Entwicklern eine große Auswahl an Optionen. Mit seiner Hilfe können Sie Skripte erstellen, debuggen und bearbeiten sowie Text- und XML-Dateien öffnen. Die farbige Hervorhebung der Syntax erleichtert das Testen und Finden von Fehlern im Code erheblich.

ISE ist deutlich komfortabler als die PowerShell-Konsole und kann diese komplett ersetzen. Mithilfe der Umgebung können Sie große Codefragmente kopieren und einfügen und nicht das gesamte Skript, sondern seine einzelnen Teile ausführen. Im Gegensatz zu PowerShell kann die Fenstergröße in ISE wie bei der Arbeit mit einem normalen Programm einfach mit dem Mauszeiger geändert werden.

Um ISE auszuprobieren, geben Sie PowerShell ISE im Startmenü ein. Wenn Sie ein anderes Betriebssystem als Windows verwenden, laden Sie die Distribution von der offiziellen Website herunter und installieren Sie sie. Nach dem Start der Anwendung öffnet sich ein dreiteiliges Fenster. Skripte werden oben geschrieben, PowerShell-Befehle werden unten geschrieben und das Ergebnis ist in der Mitte sichtbar.

Beginnen Sie mit ISE und geben Sie Get-Process im unteren Fenster ein. Drücken Sie mehrmals die Tabulatortaste. Neben dem Cmdlet werden seine Parameter angezeigt und ändern sich nach jedem Tastendruck. Dies wird Ihre erste Sitzung sein, in der Sie mit der Skriptumgebung von Microsoft arbeiten.

In diesem Artikel werden wir uns solche Technologien von Microsoft ansehen wie Windows PowerShell, werden wir darüber sprechen, was PowerShell ist, was Cmdlets und eine Pipeline sind, wie man Skripte und Module schreibt und auch auf andere ebenso wichtige und nützliche Funktionen von Windows PowerShell eingehen.

Was hat zur Entstehung von Windows PowerShell beigetragen?

Vor PowerShell gab es ( und da sind) die folgenden Tools zur Automatisierung und Verwaltung von Diensten: Windows-Befehlszeile und Windows Script Host. Doch diese Technologien haben Nachteile.

Die Windows-Befehlszeile bietet auch die Möglichkeit, einige Verwaltungsaufgaben auszuführen und einen Aktionsalgorithmus aufzuzeichnen und ihn als Skript (BAT-Datei) zu speichern, während Sie bestimmte Programmierelemente verwenden können, z. B. Variablen, bedingte Konstrukte usw. und sogar so etwas wie Zyklen.

Die meisten Softwareprodukte verfügen über eine Konsolenschnittstelle, d.h. Wir können das Programm über die Befehlszeile steuern und gleichzeitig Ressourcen sparen, da für den Betrieb der grafischen Oberfläche keine Kosten anfallen. Für das Server-Betriebssystem Windows Server veröffentlicht Microsoft sogar Editionen ohne grafische Oberfläche ( Server Core, Windows Server 2016 verfügt sogar über Nano Server), aber das alles reicht nicht aus, da die Befehlszeilenfunktionen begrenzt sind, d.h. Wir werden nicht in der Lage sein, eine komplexe Logik zu schreiben, um etwas zu automatisieren, und selbst wenn wir es könnten, wird es Zeit und Wissen erfordern.

Ein Nachteil der Befehlszeile besteht auch darin, dass wir zur vollständigen Verwaltung des Servers verschiedene Konsolendienstprogramme von Softwareprodukten verwenden und daher die Verwendung der Befehlszeile für die Verwaltung tatsächlich schwierig ist, da alle diese Dienstprogramme unterschiedliche Funktionen haben Syntax, Parameter, Verwendungsmethoden und zur Ausführung typischer Aufgaben, d. h. Jeden Tag muss man sich das alles merken und um atypische Aufgaben auszuführen, muss man zuerst die Hilfe oder Dokumentation lesen.

Mit der Windows Script Host-Technologie können Sie alle Verwaltungsaufgaben über die Befehlszeile ausführen, einschließlich ihrer Automatisierung durch das Schreiben von WSH-Skripten. Hier können wir jedoch bereits vollwertige Programmiersprachen verwenden ( VBScript und JScript), d.h. komplexe Logik und Algorithmen können implementiert werden. Darüber hinaus verwalten wir mit Hilfe von WSH Softwareprodukte über eine Objektschnittstelle, d. h. Windows Script Host ist viel mehr. Kühler» als die Befehlszeile. Allerdings wurde diese Technologie auch nicht zum idealen Werkzeug zur Verwaltung und Automatisierung dieser Administration für Systemadministratoren, da Windows Script Host Kenntnisse der oben genannten Programmiersprachen voraussetzte, die für Systemadministratoren eigentlich überflüssig sind. Administratoren benötigen lediglich ein einfaches Verwaltungstool mit der Möglichkeit, einige Aktionen zu programmieren, und möchten sich nicht mit den Objektmodellen von Softwareprodukten in den Programmiersprachen VBScript und JScript befassen.

Daher musste Microsoft ein Verwaltungstool für Systemadministratoren entwickeln, das alle Anforderungen von Systemadministratoren zu 100 Prozent erfüllt, sowohl in Bezug auf Verwaltungs- und Automatisierungsmöglichkeiten als auch in Bezug auf Komfort und Benutzerfreundlichkeit, und so erschien Windows PowerShell.

Was ist Windows PowerShell?

Windows PowerShell ist eine Windows-Skriptsprache und Befehlsshell zur Verwaltung und Konfiguration von Windows-Betriebssystemen. PowerShell basiert auf dem CRL-Framework und dem .NET Framework. Im Gegensatz zur Befehlszeile, die Text akzeptiert und zurückgibt, arbeitet Windows PowerShell mit Objekten. Jedes Objekt in PowerShell verfügt über Eigenschaften und Methoden, mit denen Sie diese Objekte bearbeiten können.

In Windows PowerShell hat Microsoft das Konzept von Cmdlets entwickelt ( Cmdlets), bei dem es sich um ein Befehlsbenennungssystem handelt. Verb Nomen" Dieses System ermöglicht Systemadministratoren die schnelle Beherrschung und Vereinfachung der Arbeit mit PowerShell.

Mit Windows PowerShell können Sie:

  • Greifen Sie auf das Dateisystem zu;
  • Verwalten Sie die Registrierung.
  • Dienste verwalten;
  • Prozesse verwalten;
  • Konfigurieren Sie das Betriebssystem;
  • Software installieren;
  • Serverrollen und Komponenten installieren;
  • Serverrollen und -komponenten verwalten und konfigurieren;
  • Schreiben und verwenden Sie Skripte, um Management und Administration zu automatisieren;
  • Führen Sie andere Systemadministratoraufgaben aus.

Windows PowerShell enthält viele häufig verwendete Dienstprogramme und Befehle, die Sie über die Befehlszeile ausführen können, z. B. ipconfig, ping und andere. Dies geschah, um Systemadministratoren den Übergang von der Befehlszeile zu PowerShell zu erleichtern.

Der Einfachheit halber haben viele häufig verwendete Befehle und Dienstprogramme in PowerShell außerdem Synonyme ( Alias), zum Beispiel ist cls ein Synonym für das Cmdlet Clear-Host, dir ist ein Synonym für Get-ChildItem ( Die vollständige Liste der Synonyme kann durch Ausführen des Cmdlets Get-Alias ​​​​angezeigt werden).

Um die Suche nach dem gewünschten Befehl zu vereinfachen, verfügt PowerShell über ein spezielles Cmdlet Get-Command, mit dem Sie sowohl nach Verb als auch nach Substantiv suchen können. Alle Befehle in Windows PowerShell sind in Module gruppiert ( z.B. Hyper-V, NetTCPIP), was es auch einfacher macht, den richtigen Befehl zu finden.

Sobald der benötigte Befehl gefunden wurde, können Sie sich die Anleitung zum Arbeiten mit diesem Befehl ansehen, d. h. Hilfe gibt es für diese Zwecke ein spezielles Get-Help-Cmdlet. Der folgende Befehl zeigt beispielsweise Hilfe für das Get-Command-Cmdlet an:

Get-Help Get-Command

Die Hilfe in Windows PowerShell kann kurz und detailliert sein ( Parameter -Detailliert), voll ( Parameter -Full), und Sie können auch nur Beispiele anzeigen ( Parameter – Beispiele). Der folgende Befehl zeigt nur Beispiele für die Verwendung des Cmdlets Get-Command:

Get-Help Get-Command -Beispiele

Die PowerShell-Hilfe ist aktualisierbar, d. h. Es kann mit dem Befehl Update-Help aktualisiert werden.

Windows PowerShell-Versionen

Die erste Version von PowerShell 1.0 erschien am 14. November 2006 und wurde als separate Distribution veröffentlicht, die auf den folgenden Versionen von Windows-Betriebssystemen installiert werden konnte: Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 und Windows Vista.

In Windows Server 2008 war PowerShell 1.0 eine Komponente, die ebenfalls installiert werden musste.

Ab Windows 7 und Windows Server 2008 R2 ist PowerShell ein integraler Bestandteil des Systems ( diese. vorinstalliert, keine Installation erforderlich). Nachfolgend finden Sie eine Entsprechungstabelle zwischen der Version von PowerShell und der Version des Windows-Betriebssystems ( diese. Welche Version von PowerShell ist standardmäßig auf welcher Windows-Version installiert?):

PowerShell-Version Windows-Versionen
PowerShell 2.0 Windows 7, Windows Server 2008 R2
PowerShell 3.0 Windows 8, Windows Server 2012
PowerShell 4.0 Windows 8.1, Windows Server 2012 R2
PowerShell 5.0 Windows 10, Windows Server 2016

Mit jeder neuen Version wird PowerShell ein immer leistungsfähigeres Verwaltungstool. Zum Vergleich: Die erste PowerShell hatte etwa 130 Cmdlets und in PowerShell 5.0 sind es bereits mehr als 600!

Sie können die aktuelle Version von PowerShell mithilfe der PSVersion-Eigenschaft der integrierten Variablen $PSVersionTable ermitteln. Führen Sie beispielsweise den folgenden Befehl aus:

$PSVersionTable.PSVersion

Oder führen Sie das Cmdlet aus

Get-Variable -Name PSVersionTable –ValueOnly

Dabei ist der PSVersion-Wert die PowerShell-Version.

PowerShell-Sprache

Power Shell ist eine objektorientierte Skript-Programmiersprache. Es wird zum Schreiben von Befehlen zur Steuerung aller Komponenten des Windows-Betriebssystems in Windows PowerShell und zum Schreiben von Skripts zur Automatisierung administrativer Aufgaben in der Windows PowerShell Integrated Scripting Environment (ISE) verwendet. Obwohl die PowerShell-Sprache für Verwaltungsaufgaben entwickelt wurde, handelt es sich um eine vollwertige Skript-Programmiersprache, da sie über Programmkonstrukte verfügt, die in jeder Programmiersprache vorhanden sind, wie zum Beispiel: Bedingungen, Schleifen, Fehlerbehandlung, Arbeiten mit Variablen, Objekten usw Arrays.

Die PowerShell-Sprache verfügt über eine einheitliche Syntax zum Schreiben von Befehlen und eine Namensstruktur für diese Befehle, die auf dem Prinzip „ Verb Nomen", was diese Sprache sowohl für Programmierer als auch für Systemadministratoren intuitiv macht.

Windows PowerShell

Windows PowerShell ist eine Umgebung zum Ausführen von Befehlen und Skripten in PowerShell. Diese Shell verfügt über dieselben Funktionen wie die Befehlszeile, wie zum Beispiel: Speichern des Verlaufs der Befehlsausführung, Anpassen des Erscheinungsbilds der Shell, Abschließen der Befehlsausführung mit der Tastenkombination Strg+C sowie viele andere Funktionen, die nicht in der Befehlszeile enthalten sind Befehlszeilen-Shell, zum Beispiel eine so wunderbare Funktion wie „ Satzstellung markieren» ( eingeführt in PowerShell 5.0).

Es gibt verschiedene Möglichkeiten, PowerShell zu starten, zum Beispiel:

  • Über die Befehlszeile durch Eingabe von PowerShell;
  • Über das Dialogfeld „ Ausführen» ( Tastaturkürzel Win+R), auch die Eingabe von PowerShell;
  • In Windows 7 – Start -> Alle Programme -> Zubehör -> Windows PowerShell -> Windows PowerShell;
  • In Windows 8.1 oder Windows Server 2012 R2 – Start->Alle Programme -> Systemprogramme -> Windows PowerShell;
  • In Windows 10 oder Windows Server 2016 – Start->Alle Programme -> Windows PowerShell-Verzeichnis ( in der Gruppe W) -> Windows PowerShell.

Beispiel für die Ausführung von PowerShell in Windows Server 2016

Screenshot von PowerShell in Windows Server 2016

Cmdlets in PowerShell

Cmdlet (Cmdlet) ist ein Windows PowerShell-Befehl, der Ihnen die Interaktion mit Betriebssystemobjekten ermöglicht, um diese zu verwalten. Diese Befehle sind Teil der PowerShell-Sprache. Cmdlets werden nach dem Prinzip „ Verb Nomen", getrennt durch einen Bindestrich (-); Mit anderen Worten: Wir geben zunächst an, was zu tun ist, und geben dann mit einem Bindestrich an, was zu tun ist. Zum Beispiel das Cmdlet Get-Help, wobei Get ein Verb mit der Bedeutung „ Erhalten", und Help ist ein Substantiv " Helfen„im Kontext von PowerShell“ Zeig Hilfe" PowerShell-Cmdlets geben Ergebnisse als Objekte zurück. Dies ist einer der Hauptunterschiede zur Windows-Eingabeaufforderung, bei der Befehle nur Text auf den Bildschirm zurückgeben.

Neben Cmdlets zum Abrufen von Daten (Get) gibt es auch Arten von Cmdlets wie:

  • Hinzufügen – Daten hinzufügen;
  • Klar klar;
  • Aktivieren – aktivieren;
  • Deaktivieren – ausschalten;
  • Neu – erstellen;
  • Entfernen – entfernen;
  • Satz – Satz;
  • Start - Start;
  • Halt halt;
  • Exportieren – Exportieren;
  • Import – Import;
  • Und viele mehr.

Eine vollständige Liste der Cmdlets in Windows PowerShell kann mit dem speziellen Cmdlet Get-Command angezeigt werden. Führen Sie es beispielsweise mit dem Cmdlet-Parameter -CommandType aus. Als Ergebnis wird eine Liste der Cmdlets auf Ihrem Bildschirm angezeigt.

Get-Command -CommandType-Cmdlet

Wie Sie bereits verstanden haben, verfügen Cmdlets über Parameter, mit denen wir die Aktionen des Cmdlets festlegen können. Parameter können erforderlich oder optional sein; das Cmdlet „Get-Command“ verfügt beispielsweise über keine erforderlichen Parameter.

Das Bild unten zeigt eine Möglichkeit, nach einem Cmdlet anhand des Verbs zu suchen ( Verbparameter). In diesem Fall haben wir eine Liste von Cmdlets angezeigt, die etwas neu starten können.

Team

Get-Command -Verb Neustart

Um nach einem Cmdlet anhand eines Substantivs zu suchen, müssen Sie den Parameter „Noun“ verwenden. Nachfolgend finden Sie beispielsweise eine Liste von Cmdlets, die mit Diensten funktionieren.

Team

Get-Command-Noun-Dienst

Wenn Sie das gewünschte Cmdlet nicht mit seinem vollständigen Namen finden, können Sie eine Maske im *Text*-Format verwenden.

Pipeline in PowerShell

Eine der Hauptfunktionen von Windows PowerShell ist die Möglichkeit, beim Ausführen von Befehlen eine Pipeline zu verwenden.

Förderer– Dies ist die Übertragung des Ergebnisses eines Cmdlets durch einen vertikalen Balken (|) an ein anderes Cmdlet. Wie Sie sich erinnern, arbeiten Cmdlets in PowerShell gleichzeitig mit Objekten und geben Objekte zurück. Dementsprechend werden auch Objekte entlang der Pipeline übertragen.

Mithilfe einer Pipeline können Sie komplexe Aufgaben auf einfache und bequeme Weise ausführen, ohne komplexe Algorithmen und Skripte schreiben zu müssen.

Lassen Sie uns zum Beispiel den Namen der größten Datei im Verzeichnis „C:\Windows\System32“ herausfinden ( einfaches Beispiel einer Pipeline).

Team

Get-ChildItem -Path "C:\Windows\System32" -File | Länge des Sortierobjekts -Absteigend | Select-Object -First 1

  • Get-ChildItem – Cmdlet zum Abrufen von Objekten im angegebenen Verzeichnis;
  • Sort-Object ist ein Cmdlet zum Sortieren von Objekten. In unserem Fall sortieren wir nach Dateigröße ( Länge -Absteigend);
  • Select-Object ist ein Cmdlet zur Auswahl der gewünschten Eigenschaften eines Objekts; in unserem Fall zeigen wir Standardfelder an und nur das allererste Objekt, d. h. große Datei ( Parameter -First 1).

Alle Cmdlets sind durch einen vertikalen Balken voneinander getrennt. Das Ergebnis jedes Cmdlets wird als Eingabe an ein anderes Cmdlet übergeben, d. h. Zuerst holen wir uns alle Objekte im angegebenen Verzeichnis, dann sortieren wir das Ergebnis und wählen schließlich das allererste Objekt aus.

Ausführung von Aufgaben im Hintergrund

Windows PowerShell bietet die Möglichkeit, Jobs im Hintergrund auszuführen. Dabei handelt es sich um einen Mechanismus, mit dem Sie einen Befehl ausführen können ( zum Beispiel, dessen Fertigstellung lange dauert) im Hintergrund, d.h. Nach dem Start kehren Sie zur aktuellen Sitzung zurück und können weiterarbeiten, ohne auf die Beendigung des Befehls warten zu müssen. Sie benötigen diese Funktion, wenn Sie einen Befehl ausführen müssen, dessen Ausführung ziemlich lange dauert. Wie Sie wissen, ist die PowerShell-Sitzung während dieser Zeit blockiert, bis der Befehl abgeschlossen ist, und Sie müssen weiterarbeiten.

Sie können alle Aufgaben verwalten, die im Hintergrund ausgeführt werden, z. B. die Liste der Aufgaben anzeigen, die Aufgabe stoppen, die Aufgabe löschen und natürlich das Ergebnis der Aufgabe anzeigen.

Windows PowerShell verfügt über die folgenden Cmdlets für die Arbeit mit Hintergrundjobs:

  • Start-Job – eine Hintergrundaufgabe starten;
  • Stop-Job – Stoppen Sie eine Hintergrundaufgabe
  • Get-Job – Liste der Hintergrundaufgaben anzeigen;
  • Empfangsauftrag – das Ergebnis der Ausführung einer Hintergrundaufgabe anzeigen;
  • Remove-Job – eine Hintergrundaufgabe entfernen;
  • Wait-Job – Verschieben Sie eine Hintergrundaufgabe in den Vordergrund, um auf deren Abschluss zu warten.

Um im Hintergrund auszuführen, müssen Sie den Befehl „Start-Job“ und in geschweiften Klammern () einen Befehl oder eine Reihe von Befehlen schreiben, die Sie im Hintergrund ausführen möchten.

Lassen Sie uns zum Beispiel eine Aufgabe ausführen ( Liste der Dienstleistungen anzeigen) im Hintergrund, schauen Sie sich dann die Liste der Hintergrundjobs an und zeigen Sie das Ergebnis unseres Jobs an ( diese. Liste der Dienstleistungen).

Führen Sie eine Aufgabe im Hintergrund aus

Start-Job (Get-Service)

Wir schauen uns die Liste der im Hintergrund laufenden Aufgaben an

Anzeige des Ergebnisses von Job1

Empfangsauftrag Job1

Wie Sie sehen, haben wir jetzt eine Aufgabe mit dem Status „ Vollendet", d.h. es ist bereits abgeschlossen ( Get-Service funktioniert einfach schnell).

Um das Ergebnis der Hintergrundaufgabe zu sehen, d.h. Mit dem Cmdlet „Get-Service“ haben wir den Befehl „Receive-Job“ ausgeführt und ihm den Jobnamen übergeben ( Auch der Bezeichnerwert ist möglich). Als Ergebnis haben wir eine Liste der Dienste angezeigt.

Fernsteuerung mit PowerShell

Windows PowerShell ist nicht nur für die lokale Verwendung, sondern auch für die Remote-Befehlsausführung konzipiert. Diese Funktion ist notwendig, damit Sie Remote-Computer von Ihrem Arbeitsplatz aus steuern können, d. h. Führen Sie PowerShell-Befehle aus.

Es gibt verschiedene Methoden der Fernbedienung:

  • Verwendung des Parameters -Computername (Viele Teams haben es). Das heißt, Sie übergeben als Parameter den Namen des Computers, auf dem Sie den Befehl ausführen möchten. Die Methode hat den Nachteil, dass sie auf die Ausführung eines Befehls beschränkt ist;
  • Verwendung von Sitzungen. Cmdlet Geben Sie PSSession ein (interaktive Sitzung). Auf diese Weise stellen Sie eine Verbindung zu einem Remotecomputer her und alle Befehle, die Sie in PowerShell eingeben, werden auf dem Remotecomputer auf die gleiche Weise ausgeführt, als ob Sie die Befehle direkt auf dem Remotecomputer eingegeben hätten. Die Methode hat außerdem den Nachteil, dass die Sitzung auf einen Computer beschränkt ist;
  • Verwenden eines Cmdlets Invoke-Befehl. Mit dieser Methode können Sie Befehle oder Skripte auf einem oder mehreren Computern ausführen.

Um beispielsweise eine Verbindung zu einem Remotecomputer herzustellen ( im Beispiel unten Servername) Führen Sie in einer interaktiven Sitzung den folgenden Befehl aus:

Geben Sie den Namen des PSSession-Servers ein

Skripte, Funktionen und Module in Windows PowerShell

Wenn Sie einen Algorithmus geschrieben haben, möchten Sie ihn höchstwahrscheinlich speichern, um ihn in Zukunft zu verwenden. Windows PowerShell verfügt zu diesem Zweck über einen Skriptmechanismus.

Die Essenz dieses Mechanismus ist wie folgt: Sie schreiben den benötigten Befehlssatz und speichern ihn als Skript – das ist eine einfache Textdatei mit der Erweiterung .PS1.

Um dieses Skript dann auszuführen, führen Sie es einfach in PowerShell aus. In diesem Fall müssen Sie entweder den vollständigen Pfad zur Skriptdatei angeben oder in das Verzeichnis mit dem Skript gehen und es beim Namen nennen.

Wichtig!

Standardmäßig ist das Ausführen von Skripten unter Windows verboten! Um die Skriptausführungsrichtlinie anzuzeigen, führen Sie das Cmdlet aus Get-ExecutionPolicy. Als Ergebnis wird die aktuelle Richtlinie zurückgegeben, zum Beispiel:

  • Eingeschränkt – die Ausführung aller Skripte ist blockiert ( Standardwert);
  • AllSigned – die Ausführung von Skripten mit digitaler Signatur ist erlaubt;
  • RemoteSigned – die Ausführung lokaler Skripte ist erlaubt, alle heruntergeladenen Skripte müssen eine digitale Signatur haben;
  • Uneingeschränkt – die Ausführung beliebiger Skripte ist erlaubt ( nicht zu empfehlen, da es unsicher ist!).

Um die Ausführung von Skripts zu ermöglichen, müssen Sie das Cmdlet verwenden Set-ExecutionPolicy mit einem der oben genannten Parameter.

Um beispielsweise die Ausführung lokaler Skripts zu ermöglichen, führen Sie den folgenden Befehl aus und akzeptieren Sie die Änderungen, indem Sie Y drücken.

Set-ExecutionPolicy RemoteSigned

Sie können Parameter an ein Skript übergeben, sie obligatorisch machen oder einen Standardwert festlegen.

Windows PowerShell bietet einen Mechanismus zum Erstellen eigener Funktionen, die wie integrierte Cmdlets in der PowerShell-Shell verwendet werden können.

Dazu müssen Sie das Schlüsselwort Function angeben und dann den Algorithmus zum Ausführen dieser Funktion in geschweiften Klammern () schreiben, d. h. Befehlssatz ( Zum Beispiel ein häufig verwendetes Verfahren: Erstellen eines Benutzers mit bestimmten Rechten, Bereinigen bestimmter Verzeichnisse und so weiter). Dann müssen Sie das alles in einem Skript speichern, allerdings nur mit der Erweiterung .psm1, da diese Datei bereits ein Modul ist.

Das ist noch nicht alles, diese Datei muss in dem Verzeichnis abgelegt werden, in dem PowerShell nach Modulen sucht. Es gibt mehrere solcher Verzeichnisse ( spezielles Verzeichnis im Benutzerprofil, das Verzeichnis, in dem PowerShell installiert ist), können sie in PowerShell-Umgebungsvariablen angezeigt werden. Führen Sie dazu den folgenden Befehl aus

Get-ChildItem Env:\PSModulePath | Formattabelle -AutoSize

Sobald Sie das von Ihnen geschriebene Modul in einem speziellen Verzeichnis abgelegt haben, können Sie als normale PowerShell-Befehle auf Ihre Funktionen zugreifen.

Windows PowerShell Integrated Scripting Environment (ISE)

Um das Schreiben von Skripten, Funktionen und damit Modulen komfortabel zu gestalten, hat Microsoft ein spezielles grafisches Programm entwickelt Integrierte Skriptumgebung(ISE) – Integrierte Skriptumgebung. Die Arbeit mit diesem Programm ist sehr komfortabel und es verfügt außerdem über leistungsstarke Funktionen ( Erstellung mehrerer Registerkarten mit Skripten, Ausgabebereich, integriertem Debugger und mehr).

Sie können es so ausführen:

  • In Windows 7 – Start -> Alle Programme -> Zubehör -> Windows PowerShell -> Windows PowerShell ISE;
  • In Windows 10 oder Windows Server 2016 – Start->Alle Programme -> Windows PowerShell-Verzeichnis ( in der Gruppe W) -> Windows PowerShell ISE.

Notiz! ISE läuft nicht auf einem Windows Server-System, auf dem die Server Core Edition installiert ist.

Screenshot der PowerShell Integrated Scripting Environment (ISE) in Windows Server 2016

Das ist alles für mich, ich hoffe, das Material war für Sie nützlich! Viel Glück!

Viele Benutzer kennen die Eingabeaufforderung, aber nur sehr wenige haben von Windows PowerShell gehört. In gewissem Sinne ist PowerShell ein Tool, das die Befehlszeile ersetzen und leistungsfähigere Funktionen für die Verwaltung des Windows-Betriebssystems bereitstellen soll. In diesem Artikel werden wir versuchen, klar zu erklären, was dieses Tool ist, warum es so leistungsstark ist und wer es am häufigsten verwendet.

Was ist PowerShell?

Zum besseren Verständnis müssen wir zunächst verstehen, was eine Shell ist. In der Informatik ist eine Shell eine Benutzeroberfläche, die den Zugriff auf verschiedene Betriebssystemdienste ermöglicht. Die Shell kann befehlszeilenbasiert sein oder eine grafische Benutzeroberfläche (GUI) enthalten.

Windows PowerShell ist eine von Microsoft entwickelte Shell zur Aufgabenautomatisierung und Konfigurationsverwaltung. Diese leistungsstarke Shell basiert auf dem .NET Framework und umfasst eine Befehlszeilen-Shell und eine Skriptsprache.

Möglicherweise gibt es auch eine Windows PowerShell ISE zusätzlich zur Standard-Befehlszeilen-Shell. ISE fungiert als integrierte Skriptumgebung – eine grafische Benutzeroberfläche, die es Ihnen ermöglicht, verschiedene Skripte zu erstellen, ohne alle Befehle in der Befehlszeile eingeben zu müssen.

Die erste Version von PowerShell wurde im November 2006 für Windows XP, Windows Server 2003 und Windows Vista veröffentlicht. Die neueste Version ist Version 4.0, die im Oktober 2013 veröffentlicht wurde. Sie wird standardmäßig mit Windows 8.1 und Windows Server 2012 R2 ausgeliefert.

Was können Sie mit PowerShell machen?

Microsoft hat Windows PowerShell als Tool entwickelt, das dabei hilft, viele mühsame Verwaltungsaufgaben zu automatisieren und schnell zu lösen. Sie können beispielsweise PowerShell verwenden, um alle auf einem oder mehreren Computern in Ihrem Netzwerk installierten USB-Geräte anzuzeigen, oder Sie können eine zeitaufwändige Aufgabe einrichten, die im Hintergrund ausgeführt wird, während Sie andere Arbeiten erledigen. Sie können auch nicht reagierende Prozesse identifizieren und beenden oder bestimmte Informationen zu Computern in Ihrem Netzwerk filtern und im HTML-Format exportieren.

Mit den Funktionen von PowerShell können Sie zeitaufwändige und sich wiederholende Aufgaben vereinfachen und automatisieren, indem Sie Skripts erstellen und mehrere Befehle miteinander kombinieren.

Wenn Sie ein Netzwerkadministrator sind, wird PowerShell bei der Arbeit mit Active Directory sehr nützlich sein. Wenn man bedenkt, dass das Tool Hunderte anpassbarer Befehle, sogenannte Cmdlets, enthält, ist die Wahrscheinlichkeit, dass PowerShell Ihnen dabei helfen kann, produktiver zu werden, sehr hoch.

Wie führe ich PowerShell unter Windows 8.1 aus?

Wenn Sie keine PowerShell-Kachel auf Ihrem Startbildschirm oder keine Verknüpfung auf Ihrem Desktop haben, können Sie sie über die Suche öffnen – dies ist eine der einfachsten Möglichkeiten. Drücken Sie +Q, geben Sie „powershell“ ein und drücken Sie dann die Eingabetaste.

Sie können PowerShell auch über den Apps-Bereich Ihres Startbildschirms öffnen: Gehen Sie zum Startbildschirm und bewegen Sie den Cursor in die untere linke Ecke, direkt unter der letzten Kachel in der ersten Spalte. Klicken Sie auf das Symbol mit dem Pfeil nach unten. Klicken Sie dann im Abschnitt „Dienstprogramme“ auf das PowerShell-Symbol.

Um PowerShell über das Dialogfeld „Ausführen“ zu öffnen, drücken Sie +R, geben Sie „powershell“ ein und drücken Sie die Eingabetaste.

Wie führe ich PowerShell unter Windows 7 aus?

Unter Windows 7 können Sie nach dem Tool suchen, indem Sie im Startmenü nach „Powershell“ suchen.

Sie können PowerShell auch über das Startmenü im Abschnitt „Zubehör“ öffnen.

Offensichtlich funktioniert der obige Befehl im Ausführungsfenster auch unter Windows 7.

Wer nutzt normalerweise PowerShell?

Ohne Zweifel ist PowerShell die erste Wahl vieler IT-Administratoren. Und das aus gutem Grund, denn das Tool vereinfacht die Verwaltungsabläufe enorm und reduziert den Arbeitsaufwand in großen Unternehmensnetzwerken.

Nehmen wir an, Sie verwalten ein großes Netzwerk mit über fünfhundert Servern und müssen eine neue Sicherheitslösung implementieren, die von einem Dienst abhängt, der auf diesen Servern ausgeführt werden muss. Natürlich können Sie sich mit jedem Server verbinden und sehen, ob der erforderliche Dienst auf ihnen installiert ist und ausgeführt wird. Allerdings wird Ihr Management in diesem Fall wahrscheinlich nicht zufrieden sein, da Sie für die Erledigung der Aufgabe zu viel Zeit benötigen.

Mit PowerShell können Sie diese Aufgabe innerhalb weniger Minuten erledigen, da der gesamte Vorgang mit einem einzigen Skript erledigt werden kann, das Informationen über die auf den angegebenen Servern ausgeführten Dienste sammelt und diese als Textdatei speichert, z. B.

Mit PowerShell können Sie viel mehr tun, als in einem Artikel behandelt werden kann. Wenn Sie also wirklich interessiert sind, empfehlen wir Ihnen dringend, eines der vielen Bücher zu kaufen und zu lesen, die die Leistungsfähigkeit dieses Tools behandeln.

Ich wünsche ihnen einen wunderbaren Tag!

Cmdlets in Windows PowerShell Es gibt viele, daher schlage ich heute vor, eine kleine Liste der nützlichsten und am häufigsten verwendeten Cmdlets mit einer kurzen Beschreibung ihrer Funktionen zu betrachten. Diese Referenz hilft Ihnen, schnell den Windows PowerShell-Befehl zu finden, der Sie interessiert, und richtet sich an unerfahrene Systemadministratoren.

Notiz! Diese Referenz basiert auf PowerShell 5.0-Cmdlets auf dem Betriebssystem Windows Server 2016.

Nützliche Windows PowerShell-Cmdlets

In diesem Abschnitt liste ich die PowerShell-Cmdlets auf, die Sie auf jeden Fall verwenden werden.

  • Get-Help – Zeigt Cmdlet-Hilfe, Funktionen und allgemeine Windows PowerShell-Hilfe an. Es gibt verschiedene Arten von Hilfe: kurz, detailliert, vollständig und nur mit Beispielen;
  • Update-Help – lädt neue Hilfedateien herunter und installiert sie, d. h. Hilfe-Update;
  • Get-Command – ein Cmdlet zum Suchen des erforderlichen Befehls. Sie können sowohl nach Verb als auch nach Substantiv suchen. Es ist auch möglich, eine Maske zu verwenden, wenn Sie den genauen Namen des Verbs oder Substantivs nicht kennen.
  • Get-Alias ​​​​– zeigt Aliase, alle oder einen bestimmten Befehl;
  • Get-PSDrive – zeigt verbundene Laufwerke an;
  • Get-Member – zeigt die Eigenschaften und Methoden an, die ein Objekt hat;
  • Get-WindowsFeature – zeigt Informationen zu verfügbaren Serverrollen und -funktionen an;
  • Install-WindowsFeature( Äquivalent zu Add-WindowsFeature) – installiert Rollen oder Komponenten auf dem angegebenen Server;
  • Uninstall-WindowsFeature ( Äquivalent zu Remove-WindowsFeature) – löscht Serverrollen oder Komponenten;
  • Get-History – Gibt eine Liste der während der aktuellen Sitzung eingegebenen Befehle zurück.

Arbeiten mit Variablen

In PowerShell verwenden Sie normalerweise das Dollarzeichen $ (, um eine Variable zu erstellen, sie auf einen Wert festzulegen oder diesen Wert abzurufen. kurz und praktisch), aber für diese Zwecke gibt es spezielle Cmdlets.

  • Get-Variable – zeigt eine Liste von Variablen und ihren Werten an ( oder eine angegebene Variable);
  • Neue Variable – erstellt eine neue Variable;
  • Set-Variable – legt den Wert einer Variablen fest. Wenn eine Variable mit dem angegebenen Namen nicht existiert, wird sie erstellt;
  • Clear-Variable – löscht den Wert einer Variablen;
  • Remove-Variable – Entfernt eine Variable und ihren Wert.

Formatierung in Windows PowerShell

Windows PowerShell verfügt über eine Reihe von Cmdlets, mit denen die Ausgabe eines Cmdlets formatiert werden kann. Sie ermöglichen dem Benutzer, das Ergebnis in der Form anzuzeigen, in der es für ihn bequem ist, dieses Ergebnis anzuzeigen.

  • Format-Liste – gibt das Ergebnis des Befehls im Format einer Liste von Eigenschaften aus, wobei jede neue Zeile eine separate Eigenschaft enthält;
  • Format-Table – gibt das Befehlsergebnis in Form einer Tabelle aus;
  • Format-Wide – Geben Sie das Befehlsergebnis in Form einer breiten Tabelle aus, die nur eine Eigenschaft jedes Objekts anzeigt.
  • Format-Benutzerdefiniert – in diesem Fall wird die Ausgabe mit einer benutzerdefinierten Ansicht formatiert.

Import und Export

Mit PowerShell können Sie Daten in verschiedenen gängigen Formaten wie CSV oder XML importieren und exportieren und die Ausgabe eines Befehls auch an eine externe Datei oder einen Drucker umleiten.

  • Export-Csv – Daten in das CSV-Format exportieren;
  • Import-Csv – importiert Daten aus einer CSV-Datei;
  • Export-Clixml – Daten in das XML-Format exportieren;
  • Import-Clixml – importiert eine CLIXML-Datei und erstellt die entsprechenden Objekte in Windows PowerShell;
  • Out-File – sendet die Ausgabe des Cmdlets an eine externe Datei ( zum Beispiel in TXT);
  • Out-Printer – gibt das Ergebnis des Befehls an den Drucker aus;
  • Import-Module – fügt Module in der aktuellen Sitzung hinzu.

Netzwerk in Windows PowerShell

Für die Netzwerkverwaltung in Windows PowerShell gibt es Cmdlets wie:

  • Disable-NetAdapter – das Cmdlet deaktiviert den Netzwerkadapter;
  • Enable-NetAdapter – dieses Cmdlet aktiviert den Netzwerkadapter;
  • Rename-NetAdapter – benennt den Netzwerkadapter um;
  • Restart-NetAdapter – startet den Netzwerkadapter neu;
  • Get-NetIPAddress – zeigt Informationen zur IP-Adresskonfiguration an;
  • Set-NetIPAddress – ändert die IP-Adresskonfiguration;
  • New-NetIPAddress – erstellt und konfiguriert eine IP-Adresse;
  • Remove-NetIPAddress – entfernt eine IP-Adresse und ihre Konfiguration;
  • Get-NetRoute – zeigt die IP-Routing-Tabelle an;
  • Set-NetRoute – ändert die IP-Routing-Tabelle;
  • New-NetRoute – erstellt einen Eintrag in der IP-Routing-Tabelle;
  • Remove-NetRoute – entfernt einen oder mehrere Einträge ( IP-Routen) aus der IP-Routing-Tabelle;
  • Get-NetIPv4Protocol – zeigt Informationen zur IPv4-Protokollkonfiguration an;
  • Get-NetIPv6Protocol – zeigt Informationen zur IPv6-Protokollkonfiguration an;
  • Get-NetIPInterface – zeigt Informationen zu den Eigenschaften der IP-Schnittstelle an;
  • Get-NetTCPSetting – zeigt Informationen zu TCP-Einstellungen und -Konfiguration an;
  • Test-Connection – Cmdlet sendet ICMP-Pakete an einen oder mehrere Computer, d. h. " Pings" Computers.

Arbeiten mit Elementen

Windows PowerShell verfügt über Cmdlets, die mit Elementen arbeiten können; unter Elementen können hier Dateien, Ordner, Registrierungsschlüssel usw. verstanden werden.

  • Clear-Item – löscht den Inhalt eines Elements, löscht jedoch nicht das Element selbst;
  • Copy-Item – kopiert ein Element;
  • Get-Item – ruft das Element am angegebenen Speicherort ab;
  • Invoke-Item – Führt eine Standardaktion für das angegebene Element aus;
  • Move-Item – verschiebt ein Element;
  • New-Item – erstellt ein neues Element;
  • Remove-Item – entfernt die angegebenen Elemente;
  • Rename-Item – Benennt ein Element im Windows PowerShell-Anbieter-Namespace um;
  • Set-Item – ändert das Element;
  • Get-ChildItem – Gibt Elemente und untergeordnete Elemente an einem oder mehreren angegebenen Speicherorten zurück;
  • Get-Location – zeigt Informationen über den aktuellen Standort an.

Cmdlets für die Arbeit mit Active Directory (AD)

Selbstverständlich ermöglicht Ihnen Windows PowerShell die Arbeit mit dem Active Directory-Verzeichnisdienst. Für diese Zwecke gibt es viele Cmdlets, hier sind einige davon:

  • New-ADUser – Erstellen eines neuen Benutzers in Active Directory;
  • Get-ADUser – zeigt Informationen über Active Directory-Benutzer an;
  • Set-ADUser – ändert den Active Directory-Benutzer;
  • Remove-ADUser – entfernt einen Active Directory-Benutzer;
  • New-ADGroup – Cmdlet erstellt eine Gruppe in Active Directory;
  • Get-ADGroup – Zeigt Gruppeninformationen an oder führt eine Suche durch, um mehrere Gruppen aus Active Directory abzurufen.
  • Set-ADGroup – Cmdlet ändert eine Gruppe in Active Directory;
  • Remove-ADGroup – Löschen einer Gruppe in Active Directory;
  • Add-ADGroupMember – Das Cmdlet fügt Benutzer-, Computer- oder Gruppenkonten als neue Mitglieder einer Active Directory-Gruppe hinzu;
  • Get-ADGroupMember – zeigt Informationen über Active Directory-Gruppenmitglieder an;
  • Remove-ADGroupMember – entfernt Elemente aus einer Active Directory-Gruppe;
  • Set-ADAccountPassword – Setzen Sie das Passwort des Active Directory-Kontos zurück.
  • Disable-ADAccount – Deaktiviert das Active Directory-Konto.
  • Enable-ADAccount – aktiviert das Active Directory-Konto;
  • Unlock-ADAccoun – entsperrt ein Active Directory-Konto;
  • New-ADComputer – Erstellen eines neuen Computerkontos in Active Directory;
  • Get-ADComputer – zeigt Informationen über einen oder mehrere Computer im Active Directory an;
  • Set-ADComputer – Computerkonto in Active Directory ändern;
  • Remove-ADComputer – entfernt einen Computer aus Active Directory.

Arbeiten mit Hyper-V

Es gibt viele Cmdlets für die Arbeit mit Hyper-V in Windows PowerShell, hier eine kleine Liste:

  • New-VM – Erstellen einer neuen virtuellen Maschine;
  • Set-VM – Einrichten einer virtuellen Maschine;
  • Start-VM – eine virtuelle Maschine starten;
  • Stop-VM – Schließen, Ausschalten oder Speichern der virtuellen Maschine;
  • Import-VM – eine virtuelle Maschine aus einer Datei importieren;
  • Move-VM – Verschieben einer virtuellen Maschine auf einen neuen Hyper-V-Host;
  • Remove-VM – Entfernen einer virtuellen Maschine;
  • Rename-VM – benennen Sie die virtuelle Maschine um;
  • New-VHD – Erstellen einer oder mehrerer neuer virtueller Festplatten;
  • Set-VHD – Einrichten einer virtuellen Festplatte;
  • Test-VHD – Testet die virtuelle Festplatte, um Probleme zu erkennen, die sie unbrauchbar machen würden;
  • Add-VMDvdDrive – fügt der virtuellen Maschine eine DVD-Festplatte hinzu;
  • Remove-VMDvdDrive – entfernt eine DVD aus einer virtuellen Maschine;
  • Add-VMHardDiskDrive – fügt der virtuellen Maschine eine Festplatte hinzu;
  • Remove-VMHardDiskDrive – Entfernt eine oder mehrere virtuelle Festplatten (VHD) aus einer virtuellen Maschine;
  • Add-VMNetworkAdapter – fügt der virtuellen Maschine einen virtuellen Netzwerkadapter hinzu;
  • Remove-VMNetworkAdapter – entfernt einen oder mehrere virtuelle Netzwerkadapter aus einer virtuellen Maschine;
  • Copy-VMFile – Dateien auf eine virtuelle Maschine kopieren;
  • Get-VMVideo – zeigt Informationen zu Videoeinstellungen für virtuelle Maschinen an;
  • Move-VMStorage – Verschieben des Speichers der virtuellen Maschine.

Arbeiten mit Hintergrundjobs

Windows PowerShell bietet die Möglichkeit, Aufgaben im Hintergrund auszuführen, ohne auf den Abschluss des Befehls warten zu müssen ( für Fälle, in denen die Ausführung der Aufgabe lange dauert), in der aktuellen Sitzung weiterarbeiten. Um mit Hintergrundjobs zu arbeiten, verfügt PowerShell über die folgenden Cmdlets:

  • Start-Job – eine Hintergrundaufgabe starten;
  • Stop-Job – Stoppen Sie eine Hintergrundaufgabe
  • Get-Job – Liste der Hintergrundaufgaben anzeigen;
  • Empfangsauftrag – das Ergebnis der Ausführung einer Hintergrundaufgabe anzeigen;
  • Remove-Job – eine Hintergrundaufgabe entfernen;
  • Wait-Job – Verschieben Sie eine Hintergrundaufgabe in den Vordergrund, um auf deren Abschluss zu warten.

Arbeiten mit Objekten

Da PowerShell mit Objekten arbeitet, können Sie bestimmte Aktionen für diese Objekte ausführen, zum Beispiel:

  • Mit dem Cmdlet „Measure-Object“ können Sie basierend auf den Eigenschaften von Objekten numerische Aggregationsparameter wie Minimum, Maximum, Durchschnittswert, Summe und Menge berechnen. Sie möchten beispielsweise die maximale oder durchschnittliche Dateigröße in einem bestimmten Verzeichnis ermitteln oder einfach die Anzahl der Dateien ermitteln ( laufende Prozesse, Dienste usw.);
  • Select-Object – mit diesem Cmdlet können Sie bestimmte Objekte oder Eigenschaften dieser Objekte auswählen, beispielsweise möchten Sie nur den Dateinamen und seine Größe anzeigen;
  • Sort-Object – sortiert Objekte nach Eigenschaftswerten;
  • Where-Object – Cmdlet zum Festlegen einer Bedingung für die Auswahl von Objekten basierend auf den Werten ihrer Eigenschaften;
  • Group-Object – gruppiert Objekte, die denselben Wert für die angegebenen Eigenschaften enthalten;
  • ForEach-Object – iteriert über Objekte, um an jedem dieser Objekte eine bestimmte Operation auszuführen.

PowerShell-Cmdlets für die Fernverwaltung

Mit Windows PowerShell können Sie Befehle nicht nur auf Ihrem lokalen Computer, sondern auch auf einem oder sogar mehreren Remotecomputern ausführen.

  • Enter-PSSession – startet eine interaktive Sitzung mit einem Remote-Computer;
  • Exit-PSSession – beendet eine interaktive Sitzung mit einem Remote-Computer;
  • New-PSSession – erstellt eine dauerhafte Verbindung zu einem lokalen oder Remotecomputer;
  • Remove-PSSession – schließt eine oder mehrere Windows PowerShell-Sitzungen;
  • Disconnect-PSSession – trennt die Verbindung zur Sitzung;
  • Connect-PSSession – stellt eine Verbindung zu getrennten Sitzungen her;
  • Get-PSSession – Ruft Windows PowerShell-Sitzungen auf lokalen und Remotecomputern ab;
  • Invoke-Command – Führt Befehle auf lokalen und Remote-Computern aus.

Arbeiten mit Diensten und Prozessen

PowerShell kann natürlich Dienste und Prozesse in Windows verwalten; dafür gibt es Cmdlets wie:

  • Get-Process – zeigt Informationen über laufende Prozesse auf dem Computer an;
  • Start-Prozess – startet einen oder mehrere Prozesse auf dem Computer;
  • Stop-Process – stoppt einen oder mehrere laufende Prozesse;
  • Get-Service – zeigt Informationen über Dienste an;
  • Restart-Service – startet den Dienst neu;
  • Start-Service – startet den Dienst;
  • Stop-Service – stoppt den Dienst;
  • Suspend-Service – unterbricht den Dienst;
  • Set-Service – Mit diesem Cmdlet können Sie die Eigenschaften eines Dienstes ändern, z. B. Beschreibung, Anzeigename und Startmodus. Es kann auch zum Starten, Stoppen oder Pausieren eines Dienstes verwendet werden.

Arbeiten Sie mit dem Computer

Mit Windows PowerShell können Sie Verwaltungsaufgaben für das Betriebssystem und den Computer als Ganzes ausführen, z. B. das Betriebssystem neu starten oder den Computer umbenennen.

  • Restart-Computer – Das Cmdlet startet das Betriebssystem neu ( startet den Computer neu);
  • Stop-Computer – schaltet den Computer aus;
  • Computer umbenennen – benennt den Computer um;
  • Checkpoint-Computer – erstellt einen Systemwiederherstellungspunkt auf dem lokalen Computer;
  • Restore-Computer – führt die Systemwiederherstellung auf dem lokalen Computer aus;
  • Disable-ComputerRestore – deaktiviert die Systemwiederherstellungsfunktion auf dem angegebenen Dateisystemlaufwerk;
  • Enable-ComputerRestore – aktiviert die Systemwiederherstellungsfunktion auf dem angegebenen Dateisystemlaufwerk;
  • Remove-Computer – entfernt einen lokalen Computer aus der Domäne;
  • Get-EventLog – zeigt Informationen zu Ereignissen im Ereignisprotokoll oder eine Liste von Ereignisprotokollen auf einem lokalen oder Remote-Computer an;
  • Clear-EventLog – Entfernt Einträge aus den angegebenen Ereignisprotokollen.

Arbeiten mit Inhalten

Um Inhalte, beispielsweise Text in einer Datei, zu verwalten, gibt es in Windows PowerShell spezielle Cmdlets, wie zum Beispiel:

  • Get-Content – ​​Ruft den Inhalt eines Elements ab ( liest beispielsweise eine Datei);
  • Add-Content – ​​​​fügt Inhalt zu bestimmten Elementen hinzu, zum Beispiel Text zu einer Datei;
  • Clear-Content – ​​entfernt den Inhalt des Elements, entfernt jedoch nicht das Element selbst;
  • Set-Content – ​​Schreibt oder ersetzt Inhalte in ein Element durch neuen Inhalt.

Andere Windows PowerShell-Cmdlets

Ich möchte auch die folgenden Windows PowerShell-Cmdlets hervorheben, die Sie wahrscheinlich benötigen und die nützlich sein werden.

  • Get-ExecutionPolicy – ​​​​Mit diesem Cmdlet können Sie die aktuelle Windows PowerShell-Ausführungsrichtlinie für die aktuelle Sitzung ermitteln;
  • Set-ExecutionPolicy – ​​​​Das Cmdlet ändert die Windows PowerShell-Ausführungsrichtlinie;
  • Write-Host – zeigt Informationen auf dem Bildschirm an ( schreibt Text);
  • Read-Host – liest die Eingabezeile von der Konsole;
  • Write-Warning – zeigt eine Warnmeldung an;
  • Write-Error – das Cmdlet deklariert einen Fehler und zeigt ihn im Fehlerstrom an;
  • Get-Date – gibt das aktuelle Datum und die aktuelle Uhrzeit zurück;
  • Set-Date – Das Cmdlet ändert das Systemdatum und die Systemzeit auf dem Computer.

Deshalb haben wir uns nützliche und häufig verwendete Windows PowerShell-Cmdlets angesehen. Ich hoffe, dieses Nachschlagewerk wird Ihnen nützlich sein, viel Glück!

Wahrscheinlich hat jeder von PowerShell gehört, aber wahrscheinlich hatte nicht jeder die Gelegenheit, damit zu arbeiten. Für diejenigen, die gerade erst anfangen, sich in die Wildnis von PowerShell einzuarbeiten, stellen wir eine Übersetzung eines auf dem Portal 4sysops.com veröffentlichten Beitrags zur Verfügung. Es geht um 7 Befehle, die denjenigen helfen, die gerade erst anfangen, mit PowerShell zu arbeiten. Für Details – willkommen bei cat.

HILFE BEKOMMEN

Das allererste und wichtigste PowerShell-Cmdlet ist der Hilfeaufruf. Mit dem Cmdlet „Get-Help“ können Sie die Syntax überprüfen, Anwendungsbeispiele ansehen und eine detaillierte Beschreibung der Parameter jedes PowerShell-Cmdlets anzeigen. Das Tolle an diesem Cmdlet ist, dass Sie einfach „Get-Help Services“ eingeben können, um eine Liste aller Cmdlets zu erhalten, die mit Diensten funktionieren.
Beispiel:
PS C:\>Get-Help Service

Sie können ein beliebiges Cmdlet aus der von der obigen Abfrage bereitgestellten Liste auswählen, um Hilfe dazu zu erhalten. Zum Beispiel,
PS C:\> Get-Help -Name Get-Service
Sie erhalten alle Informationen zum Get-Service-Cmdlet (siehe unten).

GET-CONTENT

Das Lesen des Inhalts von Dateien ist die häufigste Voraussetzung für Anfänger, die PowerShell erlernen möchten. Das Lesen von Dateien mit PowerShell wird vereinfacht. Selbst ein Laie kann den Inhalt einer Datei lesen, indem er ihn einfach an das Cmdlet Get-Content übergibt.
Beispiel.
PS C:\> Get-Content C:\scripts\Computers.txt mytestpc1 techibee.com dummynotresolvinghost.com PS C:\>

Benötigen Sie weitere Informationen zum Cmdlet? Verwenden Sie Get-Help:
PS C:\> Get-Help Get-Content -Detailed

GET-SERVICE

Dieses Cmdlet listet alle auf dem Computer installierten Dienste auf. Sie können damit Informationen zu einem bestimmten Dienst, einer Sammlung von Diensten oder einfach allen Diensten auf Ihrem Computer abrufen.
Beispiel:
PS C:\> Get-Service wwansvc, Spooler-Statusname DisplayName ------ ---- ----------- Running spooler Print Spooler Stopped wwansvc WWAN AutoConfig PS C:\>


Hier haben wir um Informationen zu den beiden Diensten wwansvc und spooler gebeten
Es wird eine Tabelle mit dem Dienststatus, seinem Namen und seinem Anzeigenamen angezeigt.
Wir können sehen, dass der Spooler-Dienst läuft und wwansvc gestoppt ist

STOP-SERVICE UND START-SERVICE

Das Starten und Stoppen von Diensten ist ein ziemlich wichtiger Punkt in der Arbeit eines Windows-Administrators. PowerShell verfügt über integrierte Cmdlets, die die Arbeit des Administrators erleichtern, ohne dass Sie eine MMC-Konsole öffnen müssen. Mit diesen Cmdlets können Sie Dienste sowohl auf lokalen als auch auf Remotecomputern stoppen/starten.
Beispiele:
Starten/Stoppen eines Dienstes auf dem lokalen Computer (am Beispiel des Spooler-Dienstes):
PS C:\> Stop-Service -Name Spooler PS C:\> Start-Service -Name Spooler

Starten/Stoppen eines Dienstes auf einem Remote-Computer (Spooler):
PS C:\> $ServiceObj = Get-Service -ComputerName MyPC1 -Name Spooler PS C:\> Stop-Service -InputObj $ServiceObj PS C:\> Start-Service -InputObj $ServiceObj

GET-PROZESS

Mit diesem Cmdlet können Sie erkennen, welche Prozesse auf lokalen oder Remotecomputern ausgeführt werden. Der Prozessname und die ID werden angezeigt, außerdem der Pfad zur ausführbaren Datei, der Firmenname, die Version der ausführbaren Datei und der vom Prozess verwendete Speicher.
Beispiele:
Informationen zu Prozessen abrufen, die auf dem lokalen Computer ausgeführt werden:

PS C:\>Get-Process

Geben Sie das folgende Cmdlet ein, um detaillierte Informationen zu laufenden Prozessen zu erhalten
PS C:\> Get-Process | Format-Liste * -Force

Abrufen von Informationen über Prozesse, die auf einem Remotecomputer ausgeführt werden:
PS C:\> Get-Process -ComputerName MYPC1 | Format-Liste * -Force

MYPC1 muss durch den Namen des Computers ersetzt werden, von dem Sie Informationen über laufende Prozesse erhalten möchten.

STOP-PROZESS

Dieses Cmdlet stoppt einen Prozess auf einem lokalen oder Remotecomputer. Es nimmt den Namen oder die ID des Prozesses und beendet diesen Prozess. Dies ist in Fällen nützlich, in denen die Anwendung nicht reagiert.
Beispiel:
Stoppen Sie den Prozess mit der ID 22608 auf dem lokalen Computer:
PS C:\> Stop-Process -Id 22608
Stoppen Sie alle Excel-Prozesse auf dem lokalen Computer:
PS C:\> Stop-Process -name excel

Beratung Hinweis: Obwohl das Cmdlet „Stop-Process“ nicht über den Parameter „-ComputerName“ verfügt, können Sie ihn trotzdem zum Beenden von Remoteprozessen verwenden, indem Sie den folgenden Tipp befolgen:
PS C:\> $Obj = Get-Process -Name excel -ComputerName MYPC1 PS C:\> Stop-Process -InputObject $Obj

Aktualisierung:
Der Beitrag enthält eine Übersetzung des Artikels aus dem Portal