Powershell - Kurzanleitung

Windows PowerShell ist eine command-line shell und scripting languagespeziell für die Systemadministration entwickelt. Es ist analog unter Linux heißt Bash Scripting. Windows PowerShell basiert auf .NET Framework und unterstützt IT-Experten bei der Steuerung und Automatisierung der Verwaltung des Windows-Betriebssystems und der Anwendungen, die in einer Windows Server-Umgebung ausgeführt werden.

Windows PowerShell-Befehle, aufgerufen cmdletskönnen Sie die Computer über die Befehlszeile verwalten. Mit Windows PowerShell-Anbietern können Sie genauso einfach auf Datenspeicher wie die Registrierung und den Zertifikatspeicher zugreifen, wie Sie auf das Dateisystem zugreifen.

Darüber hinaus verfügt Windows PowerShell über einen umfangreichen Ausdrucksparser und eine vollständig entwickelte Skriptsprache. Mit einfachen Worten können Sie alle Aufgaben erledigen, die Sie mit der GUI erledigen, und vieles mehr.

PowerShell ISE

Die Windows PowerShell Integrated Scripting Environment(ISE) ist eine Hostanwendung für Windows PowerShell. In Windows PowerShell ISE können Sie Befehle ausführen und Skripte in einer einzigen Windows-basierten grafischen Benutzeroberfläche mit mehrzeiliger Bearbeitung, Tab-Vervollständigung, Syntaxfärbung, selektiver Ausführung, kontextsensitiver Hilfe und Unterstützung für das Recht auf Recht schreiben, testen und debuggen -Links Sprachen.

Sie können Menüelemente und Tastaturkürzel verwenden, um viele der gleichen Aufgaben auszuführen, die Sie in der Windows PowerShell-Konsole ausführen würden. Wenn Sie beispielsweise ein Skript in der Windows PowerShell ISE debuggen, um einen Zeilenumbruchpunkt in einem Skript festzulegen, klicken Sie mit der rechten Maustaste auf die Codezeile, und klicken Sie dann aufToggle Breakpoint.

PowerShell-Basisbefehle

Es gibt viele PowerShell-Befehle, und es ist sehr schwierig, alle diese Befehle in diesem Lernprogramm einzugeben. Wir werden uns auf einige der wichtigsten und grundlegendsten Befehle von PowerShell konzentrieren.

Der erste Schritt besteht darin, zum Befehl Get-Help zu wechseln, in dem erläutert wird, wie ein Befehl und seine Parameter angegeben werden.

Das PowerShell-Symbol finden Sie in der Taskleiste und im Startmenü. Durch einfaches Klicken auf das Symbol wird es geöffnet.

Klicken Sie zum Öffnen einfach auf das Symbol. Der folgende Bildschirm wird geöffnet. PowerShell kann nun bearbeitet werden.

PowerShell-Version

Die neueste Version von PowerShell ist 5.0. Um zu überprüfen, was auf unserem Server installiert ist, geben Sie den folgenden Befehl ein: :$PSVersionTable Wie im folgenden Screenshot gezeigt und vom Bildschirm wissen wir auch, dass wir PSVersion 4.0 haben

Um mit der neuesten Version zu aktualisieren, die mehr Cmdlets enthält, müssen wir diese herunterladen Windows Management Framework 5.0 vom folgenden Link - https://www.microsoft.com/en-us/download/details.aspx?id=50395 und installieren Sie es.

PowerShell ISE

Die Windows PowerShell Integrated Scripting Environment(ISE) ist eine Hostanwendung für Windows PowerShell. In Windows PowerShell ISE können Sie Befehle ausführen und Skripte in einer einzigen Windows-basierten grafischen Benutzeroberfläche mit mehrzeiliger Bearbeitung, Tab-Vervollständigung, Syntaxfärbung, selektiver Ausführung, kontextsensitiver Hilfe und Unterstützung für das Recht auf Recht schreiben, testen und debuggen -Links Sprachen.

Sie können Menüelemente und Tastaturkürzel verwenden, um viele der gleichen Aufgaben auszuführen, die Sie in der Windows PowerShell-Konsole ausführen würden. Wenn Sie beispielsweise ein Skript in der Windows PowerShell ISE debuggen, um einen Zeilenumbruchpunkt in einem Skript festzulegen, klicken Sie mit der rechten Maustaste auf die Codezeile, und klicken Sie dann aufToggle Breakpoint.

Um es zu öffnen, gehen Sie einfach zu Start - Suchen und dann zu Typ - PowerShell, wie im folgenden Screenshot gezeigt.

Klicken Sie dann auf Windows PowerShell ISE. Oder klicken Sie auf den Abwärtspfeil, wie im folgenden Screenshot gezeigt.

Es werden alle auf dem Server installierten Anwendungen aufgelistet und dann auf Windows PowerShell ISE geklickt.

Die folgende Tabelle ist geöffnet -

Es hat drei Abschnitte, die enthalten - Die PowerShell Console also mit der Nummer 1 Scripting File Nummer 2 und der dritte ist der Command Module wo finden Sie das Modul.

Während Sie das Skript erstellen, können Sie es direkt ausführen und das Ergebnis wie im folgenden Beispiel sehen:

PowerShell-Basisbefehle

Es gibt viele PowerShell-Befehle, und es ist sehr schwierig, alle diese Befehle in diesem Lernprogramm einzugeben. Wir werden uns auf einige der wichtigsten und grundlegendsten Befehle von PowerShell konzentrieren.

Der erste Schritt besteht darin, zum Befehl Get-Help zu wechseln, in dem erläutert wird, wie ein Befehl und seine Parameter angegeben werden.

To get the list of Updates - -

  • Get-HotFix und installieren Sie einen Hotfix wie folgt
  • Get-HotFix -id kb2741530

Ein Cmdlet oder "Command let" ist ein einfacher Befehl, der in der Windows PowerShell-Umgebung verwendet wird. Die Windows PowerShell-Laufzeit ruft diese Cmdlets an der Eingabeaufforderung auf. Sie können sie programmgesteuert über Windows PowerShell-APIs erstellen und aufrufen.

Cmdlet vs Command

Cmdlets unterscheiden sich auf folgende Weise erheblich von Befehlen in anderen Command-Shell-Umgebungen:

  • Cmdlets sind .NET Framework-Klassenobjekte. und nicht nur eigenständige ausführbare Dateien.

  • Cmdlets können einfach aus nur einem Dutzend Codezeilen erstellt werden.

  • Parsing, Fehlerpräsentation und Ausgabeformatierung werden von Cmdlets nicht übernommen. Dies erfolgt über die Windows PowerShell-Laufzeit.

  • Der Cmdlets-Prozess funktioniert für Objekte, die sich nicht im Textstrom befinden, und Objekte können als Ausgabe für das Pipelining übergeben werden.

  • Cmdlets sind datensatzbasiert, da sie jeweils ein einzelnes Objekt verarbeiten.

Hilfe bekommen

Der erste Schritt besteht darin, zum Befehl Get-Help zu wechseln, in dem erläutert wird, wie ein Befehl und seine Parameter angegeben werden.

Im Folgenden finden Sie Beispiele für Powershell-Skripts für Dateien und Ordner.

Sr.Nr. Operationsbeschreibung
1 Ordner erstellen

Beispielskript zum Zeigen, wie Ordner mit PowerShell-Skripten erstellt werden.

2 Dateien erstellen

Beispielskript zum Zeigen, wie Dateien mit PowerShell-Skripten erstellt werden.

3 Ordner kopieren

Beispielskript zum Zeigen, wie Dateien mit PowerShell-Skripten kopiert werden.

4 Dateien kopieren

Beispielskript zum Zeigen, wie Dateien mit PowerShell-Skripten erstellt werden.

5 Ordner löschen

Beispielskript zum Zeigen, wie Ordner mithilfe von PowerShell-Skripten gelöscht werden.

6 Dateien löschen

Beispielskript zum Zeigen, wie Dateien mit PowerShell-Skripten gelöscht werden.

7 Ordner verschieben

Beispielskript zum Zeigen, wie Ordner mithilfe von PowerShell-Skripten verschoben werden.

8 Dateien verschieben

Beispielskript zum Zeigen, wie Dateien mit PowerShell-Skripten verschoben werden.

9 Ordner umbenennen

Beispielskript zum Anzeigen des Umbenennens von Ordnern mithilfe von PowerShell-Skripten.

10 Dateien umbenennen

Beispielskript zum Anzeigen des Umbenennens von Dateien mithilfe von PowerShell-Skripten.

11 Artikel abrufen

Beispielskript, das zeigt, wie Elemente mithilfe von PowerShell-Skripten abgerufen werden.

12 Überprüfen Sie die Ordnerexistenz

Beispielskript, das zeigt, wie die Existenz von Ordnern mithilfe von PowerShell-Skripten überprüft wird.

13 Überprüfen Sie die Dateiexistenz

Beispielskript, das zeigt, wie das Vorhandensein von Dateien mithilfe von PowerShell-Skripten überprüft wird.

Im Folgenden finden Sie Beispiele für Powershell-Skripte zu Datum und Uhrzeit des Systems.

Sr.Nr. Operationsbeschreibung
1 Systemdatum abrufen

Beispielskript, das zeigt, wie das Systemdatum mithilfe von PowerShell-Skripten abgerufen wird.

2 Systemdatum einstellen

Beispielskript zum Anzeigen des Systemdatums mithilfe von PowerShell-Skripten.

3 Systemzeit abrufen

Beispielskript, das zeigt, wie die Systemzeit mithilfe von PowerShell-Skripten ermittelt wird.

4 Systemzeit einstellen

Beispielskript zum Anzeigen der Systemzeit mithilfe von PowerShell-Skripten.

Im Folgenden finden Sie Beispiele für Powershell-Skripte zum Erstellen und Lesen verschiedener Dateitypen.

Sr.Nr. Operationsbeschreibung
1 Textdatei erstellen

Beispielskript zum Zeigen, wie eine Textdatei mit PowerShell-Skripten erstellt wird.

2 Textdatei lesen

Beispielskript zum Anzeigen des Lesens einer Textdatei mithilfe von PowerShell-Skripten.

3 XML-Datei erstellen

Beispielskript zum Zeigen, wie eine XML-Datei mithilfe von PowerShell-Skripten erstellt wird.

4 XML-Datei lesen

Beispielskript zum Anzeigen des Lesens einer XML-Datei mithilfe von PowerShell-Skripten.

5 CSV-Datei erstellen

Beispielskript zum Zeigen, wie eine CSV-Datei mithilfe von PowerShell-Skripten erstellt wird.

6 CSV-Datei lesen

Beispielskript zum Anzeigen des Lesens einer CSV-Datei mithilfe von PowerShell-Skripten.

7 HTML-Datei erstellen

Beispielskript zum Zeigen, wie eine HTML-Datei mit PowerShell-Skripten erstellt wird.

8 HTML-Datei lesen

Beispielskript zum Anzeigen des Lesens einer HTML-Datei mithilfe von PowerShell-Skripten.

9 Dateiinhalt löschen

Beispielskript zum Zeigen, wie Dateiinhalte mithilfe von PowerShell-Skripten gelöscht werden.

10 Textdaten anhängen

Beispielskript, um zu zeigen, wie Text mithilfe von PowerShell-Skripten an einen Dateiinhalt angehängt wird.

Cmdlets

Ein Cmdlet oder "Command let" ist ein einfacher Befehl, der in der Windows PowerShell-Umgebung verwendet wird. Die Windows PowerShell-Laufzeit ruft diese Cmdlets an der Eingabeaufforderung auf. Sie können sie programmgesteuert über Windows PowerShell-APIs erstellen und aufrufen. Im Folgenden finden Sie ein Beispiel für die erweiterte Verwendung von Cmdlets.

Sr.Nr. Befehlstyp & Beschreibung
1 Get-Unique Cmdlet

Beispielprogramm zur Präsentation von Get-Unique Cmdlet.

2

Group-Object Cmdlet

Beispielprogramm zur Präsentation des Gruppenobjekt-Cmdlets.

3 Measure-Object-Cmdlet

Beispielprogramm zur Präsentation des Measure-Object-Cmdlets.

4 Cmdlet "Objekt vergleichen"

Beispielprogramm zur Präsentation des Cmdlets Compare-Object.

5 Format-List-Cmdlet

Beispielprogramm zur Präsentation des Format-List-Cmdlets.

6 Formatweites Cmdlet

Beispielprogramm zur Präsentation des formatweiten Cmdlets.

7 Where-Object-Cmdlet

Beispielprogramm zur Präsentation des Where-Object-Cmdlets.

8 Get-ChildItem-Cmdlet

Beispielprogramm zur Präsentation des Get-ChildItem-Cmdlets.

9 ForEach-Object-Cmdlet

Beispielprogramm zur Präsentation des ForEach-Object-Cmdlets.

10 Start-Sleep-Cmdlet

Beispielprogramm zur Präsentation des Start-Sleep-Cmdlets.

11 Read-Host-Cmdlet

Beispielprogramm zur Präsentation des Read-Host-Cmdlets.

12 Select-Object-Cmdlet

Beispielprogramm zur Präsentation des Select-Object-Cmdlets.

13 Cmdlet "Objekt sortieren"

Beispielprogramm zur Präsentation des Sortierobjekt-Cmdlets.

14 Schreibwarn-Cmdlet

Beispielprogramm zur Präsentation des Write-Warning-Cmdlets.

15 Write-Host-Cmdlet

Beispielprogramm zur Präsentation des Write-Host-Cmdlets.

16 Cmdlet "Element aufrufen"

Beispielprogramm zur Präsentation des Invoke-Item-Cmdlets.

17 Cmdlet "Aufrufaufruf"

Beispielprogramm zur Präsentation des Invoke-Expression-Cmdlets.

18 Measure-Command Cmdlet

Beispielprogramm zur Präsentation des Measure-Command-Cmdlets.

19 Cmdlet "Invoke-History"

Beispielprogramm zur Präsentation des Invoke-History-Cmdlets.

20 Cmdlet Add-History

Beispielprogramm zur Präsentation des Add-History-Cmdlets.

21 Get-History-Cmdlet

Beispielprogramm zur Präsentation des Get-History-Cmdlets.

22 Get-Culture Cmdlet

Beispielprogramm zur Präsentation des Get-Culture-Cmdlets.

Windows PowerShell ist eine command-line shell und scripting languagespeziell für die Systemadministration entwickelt. Sein Analogon unter Linux heißt Bash Scripting. Windows PowerShell basiert auf .NET Framework und unterstützt IT-Experten bei der Steuerung und Automatisierung der Verwaltung des Windows-Betriebssystems und der Anwendungen, die in einer Windows Server-Umgebung ausgeführt werden.

Windows PowerShell-Befehle, aufgerufen cmdletskönnen Sie die Computer über die Befehlszeile verwalten. Mit Windows PowerShell-Anbietern können Sie genauso einfach auf Datenspeicher wie die Registrierung und den Zertifikatspeicher zugreifen, wie Sie auf das Dateisystem zugreifen.

Darüber hinaus verfügt Windows PowerShell über einen umfangreichen Ausdrucksparser und eine vollständig entwickelte Skriptsprache. Mit einfachen Worten können Sie alle Aufgaben erledigen, die Sie mit der GUI erledigen, und vieles mehr. Windows PowerShell Scripting ist eine vollständig entwickelte Skriptsprache und verfügt über einen umfangreichen Ausdrucksparser /

Eigenschaften

  • Cmdlets - Cmdlets führen allgemeine Systemverwaltungsaufgaben aus, z. B. die Verwaltung der Registrierung, Dienste, Prozesse, Ereignisprotokolle und die Verwendung von Windows Management Instrumentation (WMI).

  • Task oriented - Die PowerShell-Skriptsprache ist aufgabenbasiert und bietet Unterstützung für vorhandene Skripts und Befehlszeilentools.

  • Consistent design- Da Cmdlets und Systemdatenspeicher eine gemeinsame Syntax verwenden und gemeinsame Namenskonventionen haben, ist die gemeinsame Nutzung von Daten einfach. Die Ausgabe von einem Cmdlet kann ohne Manipulation an ein anderes Cmdlet weitergeleitet werden.

  • Simple to Use - Durch die vereinfachte, befehlsbasierte Navigation können Benutzer in der Registrierung und in anderen Datenspeichern navigieren, die der Dateisystemnavigation ähneln.

  • Object based- PowerShell verfügt über leistungsstarke Funktionen zur Objektmanipulation. Objekte können direkt an andere Tools oder Datenbanken gesendet werden.

  • Extensible interface. - PowerShell kann angepasst werden, da unabhängige Softwareanbieter und Unternehmensentwickler mithilfe von PowerShell benutzerdefinierte Tools und Dienstprogramme erstellen können, um ihre Software zu verwalten.

Variablen

PowerShell-Variablen sind benannte Objekte. Da PowerShell mit Objekten arbeitet, werden diese Variablen zum Arbeiten mit Objekten verwendet.

Variable erstellen

Der Variablenname sollte mit $ beginnen und kann alphanumerische Zeichen und Unterstriche in ihren Namen enthalten. Eine Variable kann durch Eingabe eines gültigen Variablennamens erstellt werden.

Geben Sie den folgenden Befehl in PowerShell ISE Console ein. Angenommen, Sie befinden sich im Ordner D: \ test.

$location = Get-Location

Hier haben wir eine Variable $ location erstellt und ihr die Ausgabe des Cmdlets Get-Location zugewiesen. Es enthält jetzt den aktuellen Standort.

Variable verwenden

Geben Sie den folgenden Befehl in PowerShell ISE Console ein.

$location

Ausgabe

Sie können die folgende Ausgabe in der PowerShell-Konsole sehen.

Path                                                                                    
----                                                                                    
D:\test

Informationen über Variablen abrufen

Das Cmdlet Get-Member kann den Typ der verwendeten Variablen angeben. Siehe das folgende Beispiel.

$location | Get-Member

Ausgabe

Sie können die folgende Ausgabe in der PowerShell-Konsole sehen.

TypeName: System.Management.Automation.PathInfo

Name          MemberType   Definition                                               
----          ----------   ----------                                               
Equals        Method       bool Equals(System.Object obj)                           
GetHashCode   Method       int GetHashCode()                                        
GetType       Method       type GetType()                                           
ToString      Method       string ToString()                                        
Drive         Property     System.Management.Automation.PSDriveInfo Drive {get;}    
Path          Property     System.String Path {get;}                                
Provider      Property     System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath  Property     System.String ProviderPath {get;}

PowerShell Spezielle Variablen speichern Informationen zu PowerShell. Diese werden auch als automatische Variablen bezeichnet. Es folgt die Liste der automatischen Variablen -

Operator Beschreibung
$$ Stellt das letzte Token in der letzten von der Sitzung empfangenen Zeile dar.
$? Repräsentiert den Ausführungsstatus der letzten Operation. Es enthält TRUE, wenn die letzte Operation erfolgreich war, und FALSE, wenn sie fehlgeschlagen ist.
$ ^ Stellt das erste Token in der letzten von der Sitzung empfangenen Zeile dar.
$ _ Gleich wie $ PSItem. Enthält das aktuelle Objekt im Pipeline-Objekt. Sie können diese Variable in Befehlen verwenden, die eine Aktion für jedes Objekt oder für ausgewählte Objekte in einer Pipeline ausführen.
$ ARGS Stellt ein Array der nicht deklarierten Parameter und / oder Parameterwerte dar, die an eine Funktion, ein Skript oder einen Skriptblock übergeben werden.
$ CONSOLEFILENAME Stellt den Pfad der Konsolendatei (.psc1) dar, die zuletzt in der Sitzung verwendet wurde.
$ ERROR Stellt ein Array von Fehlerobjekten dar, die die neuesten Fehler darstellen.
$ EVENT Stellt ein PSEventArgs-Objekt dar, das das Ereignis darstellt, das verarbeitet wird.
$ EVENTARGS Stellt ein Objekt dar, das das erste Ereignisargument darstellt, das von EventArgs des Ereignisses abgeleitet wird, das verarbeitet wird.
$ EVENTSUBSCRIBER Stellt ein PSEventSubscriber-Objekt dar, das den Ereignisabonnenten des Ereignisses darstellt, das verarbeitet wird.
$ EXECUTIONCONTEXT Stellt ein EngineIntrinsics-Objekt dar, das den Ausführungskontext des PowerShell-Hosts darstellt.
$ FALSE Repräsentiert FALSE. Sie können diese Variable verwenden, um FALSE in Befehlen und Skripten darzustellen, anstatt die Zeichenfolge "false" zu verwenden.
$ FOREACH Repräsentiert den Enumerator (nicht die resultierenden Werte) einer ForEach-Schleife. Sie können die Eigenschaften und Methoden von Enumeratoren für den Wert der Variablen $ ForEach verwenden.
$ HOME Stellt den vollständigen Pfad des Home-Verzeichnisses des Benutzers dar.
$ HOST Stellt ein Objekt dar, das die aktuelle Hostanwendung für PowerShell darstellt.
$ INPUT Stellt einen Enumerator dar, der alle Eingaben auflistet, die an eine Funktion übergeben werden.
$ LASTEXITCODE Stellt den Exit-Code des zuletzt ausgeführten Windows-basierten Programms dar.
$ MATCHES Die Variable $ Matches funktioniert mit den Operatoren -match und -notmatch.
$ MYINVOCATION $ MyInvocation wird nur für Skripte, Funktionen und Skriptblöcke ausgefüllt. Die Eigenschaften PSScriptRoot und PSCommandPath der automatischen Variablen $ MyInvocation enthalten Informationen zum Aufrufer oder zum aufrufenden Skript, nicht zum aktuellen Skript.
$ NESTEDPROMPTLEVEL Repräsentiert die aktuelle Eingabeaufforderungsstufe.
$ NULL $ null ist eine automatische Variable, die einen NULL-Wert oder einen leeren Wert enthält. Mit dieser Variablen können Sie einen fehlenden oder undefinierten Wert in Befehlen und Skripten darstellen.
$ PID Stellt die Prozesskennung (PID) des Prozesses dar, der die aktuelle PowerShell-Sitzung hostet.
$ PROFIL Stellt den vollständigen Pfad des PowerShell-Profils für den aktuellen Benutzer und die aktuelle Hostanwendung dar.
$ PSCMDLET Stellt ein Objekt dar, das das Cmdlet oder die erweiterte Funktion darstellt, die ausgeführt wird.
$ PSCOMMANDPATH Stellt den vollständigen Pfad und Dateinamen des Skripts dar, das ausgeführt wird.
$ PSCULTURE Stellt den Namen der Kultur dar, die derzeit im Betriebssystem verwendet wird.
$ PSDEBUGCONTEXT Während des Debuggens enthält diese Variable Informationen zur Debugging-Umgebung. Andernfalls enthält es einen NULL-Wert.
$ PSHOME Stellt den vollständigen Pfad des Installationsverzeichnisses für PowerShell dar.
$ PSITEM Gleich wie $ _. Enthält das aktuelle Objekt im Pipeline-Objekt.
$ PSSCRIPTROOT Stellt das Verzeichnis dar, aus dem ein Skript ausgeführt wird.
$ PSSENDERINFO Stellt Informationen zu dem Benutzer dar, der die PSSession gestartet hat, einschließlich der Benutzeridentität und der Zeitzone des Ursprungscomputers.
$ PSUICULTURE Stellt den Namen der Benutzeroberflächenkultur dar, die derzeit im Betriebssystem verwendet wird.
$ PSVERSIONTABLE Stellt eine schreibgeschützte Hash-Tabelle dar, in der Details zur Version von PowerShell angezeigt werden, die in der aktuellen Sitzung ausgeführt wird.
$ SENDER Stellt das Objekt dar, das dieses Ereignis generiert hat.
$ SHELLID Repräsentiert die Kennung der aktuellen Shell.
$ STACKTRACE Stellt eine Stapelverfolgung für den letzten Fehler dar.
$ DIESES In einem Skriptblock, der eine Skripteigenschaft oder eine Skriptmethode definiert, bezieht sich die Variable $ This auf das Objekt, das erweitert wird.
$ TRUE Repräsentiert TRUE. Mit dieser Variablen können Sie TRUE in Befehlen und Skripten darstellen.

PowerShell bietet eine Vielzahl von Operatoren zum Bearbeiten von Variablen. Wir können alle PowerShell-Operatoren in die folgenden Gruppen einteilen:

  • Rechenzeichen
  • Zuweisungsoperatoren
  • Vergleichsoperatoren
  • Logische Operatoren
  • Umleitungsoperatoren
  • Verschüttete und Join-Operatoren
  • Typ Operatoren
  • Unäre Operatoren

Die arithmetischen Operatoren

Arithmetische Operatoren werden in mathematischen Ausdrücken genauso verwendet wie in der Algebra. In der folgenden Tabelle sind die arithmetischen Operatoren aufgeführt.

Angenommen, die ganzzahlige Variable A enthält 10 und die Variable B 20, dann -

Beispiele anzeigen

Operator Beschreibung Beispiel
+ (Ergänzung) Fügt Werte auf beiden Seiten des Operators hinzu. A + B ergibt 30
- (Subtraktion) Subtrahiert den rechten Operanden vom linken Operanden. A - B ergibt -10
* (Multiplikation) Multipliziert Werte auf beiden Seiten des Operators. A * B ergibt 200
/ (Teilung) Teilt den linken Operanden durch den rechten Operanden. B / A ergibt 2
% (Modul) Teilt den linken Operanden durch den rechten Operanden und gibt den Rest zurück. B% A ergibt 0

Die Vergleichsoperatoren

Im Folgenden sind die Zuweisungsoperatoren aufgeführt, die von der PowerShell-Sprache unterstützt werden:

Angenommen, die ganzzahlige Variable A enthält 10 und die Variable B 20, dann -

Beispiele anzeigen

Operator Beschreibung Beispiel
Gl. (gleich) Vergleicht zwei Werte, um gleich zu sein oder nicht. A -eq B gibt false
ne (nicht gleich) Vergleicht zwei Werte als ungleich. A -ne B wird wahr geben
gt (größer als) Vergleicht den ersten Wert mit dem zweiten. B -gt A wird wahr geben
ge (größer oder gleich) Vergleicht den ersten Wert so, dass er größer oder gleich dem zweiten ist. B -ge A wird wahr geben
lt (weniger als) Vergleicht den ersten Wert mit weniger als dem zweiten. B -lt A wird falsch geben
le (kleiner oder gleich) Vergleicht den ersten Wert mit kleiner oder gleich dem zweiten Wert. B-le A wird falsch geben

Die Zuweisungsoperatoren

Im Folgenden sind die Zuweisungsoperatoren aufgeführt, die von der PowerShell-Sprache unterstützt werden:

Beispiele anzeigen

Operator Beschreibung Beispiel
= Einfacher Zuweisungsoperator. Weist dem linken Operanden Werte von Operanden auf der rechten Seite zu. C = A + B weist C den Wert von A + B zu
+ = UND-Zuweisungsoperator hinzufügen. Es fügt dem linken Operanden den rechten Operanden hinzu und weist das Ergebnis dem linken Operanden zu. C + = A entspricht C = C + A.
- = UND-Zuweisungsoperator subtrahieren. Es subtrahiert den rechten Operanden vom linken Operanden und weist das Ergebnis dem linken Operanden zu. C - = A entspricht C = C - A.

Die logischen Operatoren

In der folgenden Tabelle sind die logischen Operatoren aufgeführt.

Angenommen, die booleschen Variablen A sind wahr und die Variable B ist falsch, dann -

Beispiele anzeigen

Operator Beschreibung Beispiel
UND (logisch und) Wird als logischer UND-Operator bezeichnet. Wenn beide Operanden ungleich Null sind, wird die Bedingung wahr. (A -AND B) ist falsch
ODER (logisch oder) Wird als logischer ODER-Operator bezeichnet. Wenn einer der beiden Operanden ungleich Null ist, wird die Bedingung erfüllt. (A-ODER B) ist wahr
NICHT (logisch nicht) Wird als logischer NICHT-Operator bezeichnet. Verwenden Sie diese Option, um den logischen Status des Operanden umzukehren. Wenn eine Bedingung wahr ist, macht der Operator Logical NOT false. -NOT (A -AND B) ist wahr

Verschiedene Betreiber

Im Folgenden finden Sie verschiedene wichtige Operatoren, die von der PowerShell-Sprache unterstützt werden:

Beispiele anzeigen

Operator Beschreibung Beispiel
> (Redirectional Opeator) Umleitungsoperator. Weist die zu druckende Ausgabe der umgeleiteten Datei / dem umgeleiteten Gerät zu. dir> test.log druckt die Verzeichnisliste in der Datei test.log

Es kann vorkommen, dass Sie einen Codeblock mehrmals ausführen müssen. Im Allgemeinen werden Anweisungen nacheinander ausgeführt: Die erste Anweisung in einer Funktion wird zuerst ausgeführt, gefolgt von der zweiten usw.

Programmiersprachen bieten verschiedene Steuerungsstrukturen, die kompliziertere Ausführungspfade ermöglichen.

EIN loop Anweisung ermöglicht es uns, eine Anweisung oder eine Gruppe von Anweisungen mehrmals auszuführen. Im Folgenden finden Sie die allgemeine Form einer Schleifenanweisung in den meisten Programmiersprachen.

Die PowerShell-Programmiersprache bietet die folgenden Arten von Schleifen, um die Schleifenanforderungen zu erfüllen. Klicken Sie auf die folgenden Links, um deren Details zu überprüfen.

Sr.Nr. Schleife & Beschreibung
1 für Schleife

Führen Sie eine Folge von Anweisungen mehrmals aus und kürzen Sie den Code ab, der die Schleifenvariable verwaltet.

2 für jede Schleife

Verbesserte for-Schleife. Dies wird hauptsächlich verwendet, um die Sammlung von Elementen einschließlich Arrays zu durchlaufen.

3 while-Schleife

Wiederholt eine Anweisung oder eine Gruppe von Anweisungen, während eine bestimmte Bedingung erfüllt ist. Es testet die Bedingung, bevor der Schleifenkörper ausgeführt wird.

4 do ... while-Schleife

Wie eine while-Anweisung, nur dass sie die Bedingung am Ende des Schleifenkörpers testet.

Entscheidungsstrukturen haben eine oder mehrere Bedingungen, die vom Programm bewertet oder getestet werden müssen, zusammen mit einer Anweisung oder Anweisungen, die ausgeführt werden sollen, wenn die Bedingung als wahr bestimmt wird, und optional anderen Anweisungen, die ausgeführt werden sollen, wenn die Bedingung bestimmt wird falsch sein.

Es folgt die allgemeine Form einer typischen Entscheidungsstruktur, die in den meisten Programmiersprachen zu finden ist:

Die PowerShell-Skriptsprache bietet die folgenden Arten von Entscheidungsbefehlen. Klicken Sie auf die folgenden Links, um deren Details zu überprüfen.

Sr.Nr. Aussage & Beschreibung
1 if-Anweisung

Ein if statement besteht aus einem booleschen Ausdruck, gefolgt von einer oder mehreren Anweisungen.

2 if ... else-Anweisung

Ein if statement kann von einem optionalen gefolgt werden else statement, wird ausgeführt, wenn der boolesche Ausdruck false ist.

3 verschachtelte if-Anweisung

Sie können eine verwenden if oder elseif Aussage in einem anderen if oder elseif Aussage (n).

4 switch-Anweisung

EIN switch Mit der Anweisung kann eine Variable auf Gleichheit mit einer Liste von Werten getestet werden.

PowerShell bietet eine Datenstruktur, die array, in dem eine sequentielle Sammlung von Elementen eines beliebigen Typs mit fester Größe gespeichert wird. Ein Array wird zum Speichern einer Sammlung von Daten verwendet. Oft ist es jedoch sinnvoller, sich ein Array als eine Sammlung von Variablen oder Objekten vorzustellen.

Anstatt einzelne Variablen wie Nummer 0, Nummer 1, ... und Nummer 99 zu deklarieren, deklarieren Sie eine Array-Variable wie Zahlen und verwenden Zahlen [0], Zahlen [1] und ..., Zahlen [99] zur Darstellung einzelne Variablen.

In diesem Lernprogramm wird erläutert, wie Sie Array-Variablen deklarieren, Arrays erstellen und Arrays mithilfe indizierter Variablen verarbeiten.

Array-Variablen deklarieren

Um ein Array in einem Programm zu verwenden, müssen Sie eine Variable deklarieren, die auf das Array verweist, und Sie können den Array-Typ angeben, auf den die Variable verweisen kann. Hier ist die Syntax zum Deklarieren einer Array-Variablen:

Syntax

$A = 1, 2, 3, 4
or
$A = 1..4

Note- Standardmäßig ist der Objekttyp des Arrays System.Object. Die Methode GetType () gibt den Typ des Arrays zurück. Typ kann übergeben werden.

Beispiel

Die folgenden Codefragmente sind Beispiele für diese Syntax:

[int32[]]$intA = 1500,2230,3350,4000

$A = 1, 2, 3, 4
$A.getType()

Dies führt zu folgendem Ergebnis:

Ausgabe

IsPublic    IsSerial    Name                        BaseType                     
--------    --------    ----                        --------                     
True        True        Object[]                    System.Array

Auf die Array-Elemente wird über das zugegriffen index. Array-Indizes basieren auf 0; Das heißt, sie beginnen bei 0 bisarrayRefVar.length-1.

Beispiel

Die folgende Anweisung deklariert eine Array-Variable, myList, erstellt ein Array von 10 Elementen vom Doppeltyp und weist myList ihren Verweis zu -

$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123

Das folgende Bild zeigt das Array myList. Hier enthält myList zehn Doppelwerte und die Indizes liegen zwischen 0 und 9.

Arrays verarbeiten

Bei der Verarbeitung von Array-Elementen verwenden wir häufig beides for Schleife oder foreach Schleife, da alle Elemente in einem Array vom gleichen Typ sind und die Größe des Arrays bekannt ist.

Beispiel

Hier ist ein vollständiges Beispiel, das zeigt, wie Arrays erstellt, initialisiert und verarbeitet werden.

$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123

write-host("Print all the array elements")
$myList

write-host("Get the length of array")
$myList.Length

write-host("Get Second element of array")
$myList[1]

write-host("Get partial array")
$subList = $myList[1..3]

write-host("print subList")
$subList

write-host("using for loop")
for ($i = 0; $i -le ($myList.length - 1); $i += 1) {
   $myList[$i]
}

write-host("using forEach Loop")
foreach ($element in $myList) {
   $element
}

write-host("using while Loop")
$i = 0
while($i -lt 4) {
   $myList[$i];
   $i++
}

write-host("Assign values")
$myList[1] = 10
$myList

Dies führt zu folgendem Ergebnis:

Ausgabe

Print all the array elements
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
Get the length of array
10
Get Second element of array
4.5
Get partial array
print subList
4.5
3.3
13.2
using for loop
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
using forEach Loop
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
using while Loop
5.6
4.5
3.3
13.2
Assign values
5.6
10
3.3
13.2
4
34.33
34
45.45
99.993
11123

Beispiele für Arrays-Methoden

Hier ist ein vollständiges Beispiel, das Operationen an Arrays mit ihren Methoden zeigt

$myList = @(0..4)

write-host("Print array")
$myList

$myList = @(0..4)

write-host("Assign values")
$myList[1]  = 10
$myList

Dies führt zu folgendem Ergebnis:

Ausgabe

Clear array
Print array
0
1
2
3
4
Assign values
0
10
2
3
4

Hashtable speichert Schlüssel / Wert-Paare in einer Hash-Tabelle. Wenn Sie eine Hashtabelle verwenden, geben Sie ein Objekt an, das als Schlüssel verwendet wird, und den Wert, den Sie mit diesem Schlüssel verknüpfen möchten. Im Allgemeinen haben wir String oder Zahlen als Schlüssel verwendet.

In diesem Lernprogramm wird erläutert, wie Sie Hashtabellenvariablen deklarieren, Hashtabellen erstellen und Hashtabellen mithilfe ihrer Methoden verarbeiten.

Hashtable-Variablen deklarieren

Um eine Hashtabelle in einem Programm zu verwenden, müssen Sie eine Variable deklarieren, die auf die Hashtabelle verweist. Hier ist die Syntax zum Deklarieren einer Hashtabellenvariablen:

Syntax

$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}

Note- Geordnete Wörterbücher können mit ähnlicher Syntax erstellt werden. Geordnete Wörterbücher behalten die Reihenfolge bei, in der Einträge hinzugefügt werden, Hashtabellen jedoch nicht.

Beispiel

Die folgenden Codefragmente sind Beispiele für diese Syntax:

$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}

Drucken Sie die Hashtabelle.

$hash

Ausgabe

Name                           Value    
----                           -----                                                    
ID                             1                                                        
Color                          Blue                                                     
Shape                          Square

Auf die Hashtabellenwerte wird über die zugegriffen keys.

> $hash["ID"]
 1

Hashtable verarbeiten

Die Punktnotation kann verwendet werden, um auf Hashtabellenschlüssel oder -werte zuzugreifen.

> $hash.keys
ID
Color
Shape

> $hash.values
1
Blue
Square

Beispiel

Hier ist ein vollständiges Beispiel, das zeigt, wie Hashtabellen erstellt, initialisiert und verarbeitet werden.

$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}

write-host("Print all hashtable keys")
$hash.keys

write-host("Print all hashtable values")
$hash.values

write-host("Get ID")
$hash["ID"]

write-host("Get Shape")
$hash.Number

write-host("print Size")
$hash.Count

write-host("Add key-value")
$hash["Updated"] = "Now"

write-host("Add key-value")
$hash.Add("Created","Now")

write-host("print Size")
$hash.Count

write-host("Remove key-value")
$hash.Remove("Updated")

write-host("print Size")
$hash.Count

write-host("sort by key")
$hash.GetEnumerator() | Sort-Object -Property key

Dies führt zu folgendem Ergebnis:

Ausgabe

Print all hashtable keys
ID
Color
Shape
Print all hashtable values
1
Blue
Square
Get ID
1
Get Shape
print Size
3
Add key-value
Add key-value
print Size
5
Remove key-value
print Size
4
sort by key

Name                           Value                                                                                                   
----                           -----                                                                                                   
Color                          Blue                                                                                                    
Created                        Now                                                                                                     
ID                             1                                                                                                       
Shape                          
Square

Ein regulärer Ausdruck ist eine spezielle Folge von Zeichen, mit deren Hilfe Sie andere Zeichenfolgen oder Sätze von Zeichenfolgen mithilfe einer speziellen Syntax in einem Muster abgleichen oder finden können. Sie können zum Suchen, Bearbeiten oder Bearbeiten von Text und Daten verwendet werden.

In der folgenden Tabelle sind alle in PowerShell verfügbaren Metazeichen-Syntax für reguläre Ausdrücke aufgeführt.

Unterausdruck Streichhölzer
^ Entspricht dem Zeilenanfang.
$ Entspricht dem Zeilenende.
. Entspricht einem einzelnen Zeichen außer Zeilenumbruch. Verwenden vonm Mit dieser Option kann es auch mit der Newline übereinstimmen.
[...] Entspricht einem einzelnen Zeichen in Klammern.
[^ ...] Entspricht einem einzelnen Zeichen, das nicht in Klammern steht.
\EIN Anfang der gesamten Saite.
\ z Ende der gesamten Zeichenfolge.
\ Z. Ende der gesamten Zeichenfolge mit Ausnahme des zulässigen Abschlussabschlusses.
Re* Entspricht 0 oder mehr Vorkommen des vorhergehenden Ausdrucks.
re + Entspricht 1 oder mehr der vorherigen Sache.
Re? Entspricht dem Vorkommen des vorhergehenden Ausdrucks 0 oder 1.
re {n} Entspricht genau n Vorkommen des vorhergehenden Ausdrucks.
re {n,} Entspricht n oder mehr Vorkommen des vorhergehenden Ausdrucks.
re {n, m} Entspricht mindestens n und höchstens m Vorkommen des vorhergehenden Ausdrucks.
a | b Entspricht entweder a oder b.
(Re) Gruppiert reguläre Ausdrücke und merkt sich den übereinstimmenden Text.
(?: re) Gruppiert reguläre Ausdrücke, ohne sich an den übereinstimmenden Text zu erinnern.
(?> re) Entspricht dem unabhängigen Muster ohne Rückverfolgung.
\ w Entspricht den Wortzeichen.
\ W. Entspricht den Nichtwortzeichen.
\ s Entspricht dem Leerzeichen. Entspricht [\ t \ n \ r \ f].
\ S. Entspricht dem Nicht-Leerzeichen.
\ d Entspricht den Ziffern. Entspricht [0-9].
\ D. Entspricht den Nicht-Ziffern.
\EIN Entspricht dem Anfang der Zeichenfolge.
\ Z. Entspricht dem Ende der Zeichenfolge. Wenn eine neue Zeile vorhanden ist, stimmt sie kurz vor der neuen Zeile überein.
\ z Entspricht dem Ende der Zeichenfolge.
\G Entspricht dem Punkt, an dem das letzte Spiel beendet wurde.
\ n Rückverweis auf Erfassungsgruppennummer "n".
\ b Entspricht den Wortgrenzen außerhalb der Klammern. Entspricht der Rücktaste (0x08) in den Klammern.
\ B. Entspricht den Nichtwortgrenzen.
\ n, \ t usw. Entspricht Zeilenumbrüchen, Wagenrückläufen, Tabulatoren usw.
\ Q. Escape (Zitat) alle Zeichen bis zu \ E.
\ E. Beendet das mit \ Q begonnene Zitat.

Hier finden Sie vollständige Beispiele für die Verwendung von Regex in PowerShell.

Sr.Nr. Übereinstimmung & Beschreibung
1 Übereinstimmende Charaktere

Beispiel für unterstützte Zeichen für reguläre Ausdrücke.

2 Übereinstimmende Zeichenklassen

Beispiel für unterstützte Zeichenklassen.

3 Match-Quantifizierer

Beispiel für unterstützte Quantifizierer.

Der Backtick (`) -Operator wird auch als Zeilenumbruchoperator bezeichnet. Damit kann ein Befehl in mehreren Zeilen geschrieben werden. Es kann auch für neue Zeilen (`n) oder Tabulatoren (` t) in Sätzen verwendet werden. Siehe die folgenden Beispiele -

Beispiel 1

Get-Service * | Sort-Object ServiceType `
| Format-Table Name, ServiceType, Status -AutoSize

Es wird werden

Get-Service * | Sort-Object ServiceType | Format-Table Name, ServiceType, Status -AutoSize

Überprüfen Sie die Ausgabe als

Name                                                   ServiceType  Status
----                                                   -----------  ------
MSSQLServerADHelper100                             Win32OwnProcess Stopped
ntrtscan                                           Win32OwnProcess Running
...

Beispiel 2

Verwendung neuer Zeilen und Tabulatoren.

> Write-host "Title Subtitle"
Title Subtitle

> Write-host "Title `nSubtitle"
Title 
Subtitle

> Write-host "Title `tSubtitle"
Title   Subtitle

Powershell unterstützt drei Arten von Klammern.

  • Parenthesis brackets. − ()

  • Braces brackets. − {}

  • Square brackets. − []

Klammern

Diese Art von Klammern wird verwendet

  • Argumente übergeben

  • Legen Sie mehrere Anweisungen bei

  • Mehrdeutigkeit auflösen

  • Array erstellen

Beispiel

> $array = @("item1", "item2", "item3")
 
> foreach ($element in $array) { $element }
item1
item2
item3

Klammern Klammern

Diese Art von Klammern wird verwendet

  • Aussagen beilegen

  • Befehle blockieren

Beispiel

$x = 10

if($x -le 20){
   write-host("This is if statement")
}

Dies führt zu folgendem Ergebnis:

Ausgabe

This is if statement.

Eckige Klammern

Diese Art von Klammern wird verwendet

  • Zugriff auf Array

  • Zugriff auf Hashtabellen

  • Filter mit regulären Ausdrücken

Beispiel

> $array = @("item1", "item2", "item3")
 
> for($i = 0; $i -lt $array.length; $i++){ $array[$i] }
item1
item2
item3
 
>Get-Process [r-s]*
 Handles    NPM(K)     PM(K)    WS(K)   VM(M)   CPU(s)     Id    ProcessName
-------    ------     -----     -----   -----   ------     --    -----------  
    320        72     27300     33764    227     3.95    4028    SCNotification 
   2298        77     57792     48712    308             2884    SearchIndexer
   ...

Der PowerShell-Alias ​​ist ein anderer Name für das Cmdlet oder ein beliebiges Befehlselement.

Alias ​​erstellen

Verwenden New-AliasCmdlet zum Erstellen eines Alias. Im folgenden Beispiel haben wir eine Alias-Hilfe für das Cmdlet Get-Help erstellt.

New-Alias -Name help -Value Get-Help

Rufen Sie nun den Alias ​​auf.

help Get-WmiObject -Detailed

Sie sehen die folgende Ausgabe.

NAME
   Get-WmiObject
    
SYNOPSIS
   Gets instances of Windows Management Instrumentation (WMI) classes or information about the available classes.    
    
SYNTAX
   Get-WmiObject [
...

Alias ​​bekommen

Verwenden get-alias Cmdlet, um alle Alias ​​in der aktuellen Powershell-Sitzung abzurufen.

Get-Alias

Sie sehen die folgende Ausgabe.

CommandType     Name                     Definition
-----------     ----                     ----------  
Alias           %                        ForEach-Object
Alias           ?                        Where-Object
Alias           ac                       Add-Content
Alias           asnp                     Add-PSSnapIn 
...
Drucken