Informationen zu Variablen
- 11/09/2020
- 9 Minuten zum Lesen
-
- S
- s
- q
Kurzbeschreibung
Beschreibt, wie Variablen Werte speichern, die in PowerShell verwendet werden können.
Lange Beschreibung
Sie können alle Arten von Werten in PowerShell-Variablen speichern. Speichern Sie beispielsweise die Ergebnisse von Befehlen und speichern Sie Elemente, die in Befehlen und Ausdrücken verwendet werden, z. B. Namen, Pfade, Einstellungen und Werte.
Eine Variable ist eine Speichereinheit, in der Werte gespeichert werden. In PowerShell werden Variablen durch Textzeichenfolgen dargestellt, die mit einem Dollarzeichen beginnen ($
), z. B. $a
, $process
oder $my_var
.
Variablennamen unterscheiden nicht zwischen Groß- und Kleinschreibung und können Leerzeichen und Sonderzeichen enthalten Sonderzeichen und Leerzeichen enthalten sind schwer zu verwenden und sollten vermieden werden. Weitere Informationen finden Sie unter Variablennamen mit Sonderzeichen.
In PowerShell gibt es verschiedene Arten von Variablen.
-
Vom Benutzer erstellte Variablen: Vom Benutzer erstellte Variablen werden vom Benutzer erstellt und verwaltet. Standardmäßig sind die Variablen, die Sie in der PowerShell-Befehlszeile erstellen, nur vorhanden, während das PowerShell-Fenster geöffnet ist. Wenn das PowerShell-Fenster geschlossen ist, sind die Variablen Um eine Variable zu speichern, fügen Sie sie in Ihrem PowerShell-Profil hinzu. Sie können Variablen auch in Skripten mit globalem, skriptbezogenem oder lokalem Bereich erstellen.
-
Automatisch va riables: Automatische Variablen speichern den Status von PowerShell. Diese Variablen werden von PowerShell erstellt, und PowerShell ändert ihre Werte nach Bedarf, um ihre Genauigkeit zu gewährleisten. Benutzer können den Wert dieser Variablen nicht ändern. Beispielsweise speichert die Variable
$PSHOME
den Pfad zum PowerShell-Installationsverzeichnis.Weitere Informationen, eine Liste und Eine Beschreibung der automatischen Variablen finden Sie unter about_Automatic_Variables.
-
Voreinstellungsvariablen: Voreinstellungsvariablen speichern Benutzereinstellungen für PowerShell. Diese Variablen werden von PowerShell erstellt und mit Standardwerten gefüllt. Benutzer können die ändern Werte dieser Variablen. Beispielsweise bestimmt die Variable
$MaximumHistoryCount
die maximale Anzahl von Einträgen im Sitzungsverlauf.Weitere Informationen, eine Liste und eine Beschreibung von Informationen zu den Präferenzvariablen finden Sie unter about_Preference_Variables.
Arbeiten mit Variablen
Um eine neue Variable zu erstellen, verwenden Sie eine Zuweisungsanweisung, um der Variablen einen Wert zuzuweisen Sie müssen die Variable nicht deklarieren, bevor Sie sie verwenden. Der Standardwert aller Variablen ist $null
.
Geben Sie Get-Variable
. Die Variablennamen werden ohne das vorhergehende Dollarzeichen ($
) angezeigt, mit dem auf Variablen verwiesen wird.
Beispiel:
Variablen sind nützlich zum Speichern der Ergebnisse von Befehlen.
Zum Beispiel:
To Zeigen Sie den Wert einer Variablen an, geben Sie den Variablennamen ein, dem ein Adollarzeichen ($
) vorangestellt ist.
Zum Beispiel:
Zum Ändern des Werts Weisen Sie der Variablen einen neuen Wert zu.
In den folgenden Beispielen wird der Wert der Variablen $MyVariable
angezeigt, der Wert der Variablen geändert und anschließend angezeigt den neuen Wert.
Um den Wert einer Variablen zu löschen, verwenden Sie das Cmdlet Clear-Variable
oder ändern Sie den Wert ue to $null
.
Löschen der Variablen Verwenden Sie Remove-Variable oder Remove-Item.
Variablentypen
Sie können jeden Objekttyp in einer Variablen speichern, einschließlich Ganzzahlen, Zeichenfolgen, Arrays und Hash-Tabellen. Und Objekte, die Prozesse, Dienste, Ereignisprotokolle und Computer darstellen.
PowerShell-Variablen sind lose typisiert, was bedeutet, dass sie nicht auf einen bestimmten Objekttyp beschränkt sind. Eine einzelne Variable kann sogar eine Sammlung enthalten. oder Array verschiedener Objekttypen gleichzeitig.
Der Datentyp einer Variablen wird durch die .NET-Typen der Werte der Variablen bestimmt. Um den Objekttyp einer Variablen anzuzeigen, verwenden Sie Get- Mitglied.
Beispiel:
Sie können ein Typattribut und eine Umwandlungsnotation verwenden, um sicherzustellen, dass eine Variable nur bestimmte Objekttypen oder Objekte enthalten kann, die in diesen Typ konvertiert werden können.Wenn Sie versuchen, einen Wert eines anderen Typs zuzuweisen, versucht PowerShell, den Wert in seinen Typ zu konvertieren. Wenn der Typ nicht konvertiert werden kann, schlägt die Zuweisungsanweisung fehl.
Um die Cast-Notation zu verwenden, geben Sie vor dem Variablennamen (auf der linken Seite der Zuweisungsanweisung) einen in Klammern gesetzten Typnamen ein. Das folgende Beispiel Erstellt eine $number
-Variable, die nur Ganzzahlen enthalten kann, eine $words
-Variable, die nur Zeichenfolgen enthalten kann, und eine Variable, die nur DateTime-Objekte enthalten kann.
Verwenden von Variablen in Befehlen und Ausdrücken
Um eine Variable in einem Befehl oder Ausdruck zu verwenden, geben Sie den Variablennamen vor dem Dollarzeichen ($
) ein.
Wenn der Variablenname und das Dollarzeichen nicht in Anführungszeichen eingeschlossen sind oder wenn sie in doppelte Anführungszeichen ("
) eingeschlossen sind, t Der Wert der Variablen wird im Befehl oder Ausdruck verwendet.
Wenn der Variablenname und das Dollarzeichen in einfache Anführungszeichen ("
) eingeschlossen sind, wird der Variablenname angegeben wird im Ausdruck verwendet.
Weitere Informationen zur Verwendung von Anführungszeichen in PowerShell finden Sie unter _Quoting_Rules.
In diesem Beispiel wird der Wert von $PROFILE
Variable, die den Pfad zur PowerShell-Benutzerprofildatei in der PowerShell-Konsole darstellt.
In dieser Beispiel: Es werden zwei Befehle angezeigt, mit denen das PowerShell-Profil innotepad.exe geöffnet werden kann. Das Beispiel mit doppelten Anführungszeichen ("
) verwendet die Variable „svalue“.
In den folgenden Beispielen wird verwendet einfache Anführungszeichen ("
), die den variablen asliteralen Text behandeln.
Variablennamen mit Sonderzeichen
Variablennamen beginnen mit einem Dollar ( $
) Zeichen und kann alphanumerische Zeichen und Sonderzeichen enthalten. Die Länge des Variablennamens wird nur durch den verfügbaren Speicher begrenzt.
Die beste Vorgehensweise besteht darin, dass Variablennamen nur alphanumerische Zeichen und enthalten Der Unterstrich (_
). Variablennamen, die Leerzeichen und andere Sonderzeichen enthalten, sind schwierig zu verwenden und sollten vermieden werden.
Alphanumerische Variablennamen können diese Zeichen enthalten :
- Unicode-Zeichen aus diesen Kategorien: Lu, Ll, Lt, Lm, L. o oder Nd.
- Unterstrich (
_
) Zeichen. - Fragezeichen (
?
) Zeichen.
Die folgende Liste enthält die Beschreibungen der Unicode-Kategorien. Weitere Informationen finden Sie unter UnicodeCategory.
- Lu – Großbuchstabe
- Ll – Kleinbuchstabe
- Lt – TitlecaseLetter
- Lm – ModifierLetter
- Lo – OtherLetter
- Nd – DecimalDigitNumber
Um einen Variablennamen zu erstellen oder anzuzeigen, der Leerzeichen oder Sonderzeichen enthält, schließen Sie den Variablennamen in das geschweifte ein Klammern ({}
) Zeichen. Die geschweiften Klammern weisen PowerShell an, die Zeichen des Variablennamens als Literale zu interpretieren.
Namen von Sonderzeichenvariablen können folgende Zeichen enthalten:
Mit dem folgenden Befehl wird beispielsweise die Variable save-items
erstellt. Die einfachen Klammern ({}
) werden benötigt, da der Variablenname enthält ein Bindestrich (-
) Sonderzeichen.
Der folgende Befehl ruft die untergeordneten Elemente in dem Verzeichnis ab, das durch die Umgebung ProgramFiles(x86)
dargestellt wird nment-Variable.
Um auf einen Variablennamen mit geschweiften Klammern zu verweisen, schließen Sie die Klammern mit dem Variablennamen ein und verwenden Sie das Backtick-Zeichen, um die Klammern zu umgehen. Erstellen Sie beispielsweise eine Variable mit dem Namen this{value}is
und geben Sie Folgendes ein:
Variablen und Bereich
Standardmäßig sind Variablen nur in dem Bereich verfügbar, in dem sie erstellt wurden.
Beispielsweise ist nur eine Variable verfügbar, die Sie in einer Funktion erstellen Mit der Funktion. Eine Variable, die Sie in einem Skript erstellen, ist nur mit dem Skript verfügbar. Wenn Sie das Skript als Punktquelle verwenden, wird die Variable zum aktuellen Bereich hinzugefügt. Weitere Informationen finden Sie unter about_Scopes.
Sie können verwenden Ein Bereichsmodifikator zum Ändern des Standardbereichs der Variablen. Der folgende Ausdruck erstellt eine Variable mit dem Namen Computers
. Die Variable hat einen globalen Bereich, selbst wenn sie in einem Skript oder einer Funktion erstellt wurde.
Für jedes Skript oder jeden Befehl, der außerhalb der Sitzung ausgeführt wird, benötigen Sie den Bereichsmodifikator Using
, um die Variable einzubetten Werte aus dem aufrufenden Sitzungsbereich, damit kein Sitzungscode darauf zugreifen kann.
Weitere Informationen finden Sie unter about_Remote_Variables.
Speichern von Variablen
Von Ihnen erstellte Variablen sind nur in der Sitzung verfügbar, in der Sie sie erstellt haben. Sie gehen verloren, wenn Sie Ihre Sitzung schließen.
Um die Variable in jeder von Ihnen gestarteten PowerShell-Sitzung zu erstellen, fügen Sie die Variable Ihrem PowerShell-Profil hinzu.
Ändern Sie beispielsweise den Wert Fügen Sie der Power-Shell-Profil der Variable $VerbosePreference
in jeder PowerShell-Sitzung den folgenden Befehl hinzu.
Sie können hinzufügen Dieser Befehl für Ihr PowerShell-Profil durch Öffnen der Datei $PROFILE
in einem Texteditor wie notepad.exe. Weitere Informationen zu PowerShell-Profilen finden Sie unter about_Profiles.
Variable: Laufwerk
Der PowerShell-Variablenanbieter erstellt ein Variable:
-Laufwerk, das wie ein Dateisystemlaufwerk aussieht und funktioniert, jedoch die Variablen in Ihrer Sitzung und deren Werte enthält.
Verwenden Sie den folgenden Befehl, um zum Laufwerk Variable:
zu wechseln:
Zum Auflisten Verwenden Sie für die Elemente und Variablen im Laufwerk Variable:
die oder Get-ChildItem
Cmdlets.
Um den Wert einer bestimmten Variablen abzurufen, Verwenden Sie die Dateisystemnotation, um den Namen des Laufwerks und den Namen der Variablen anzugeben. Verwenden Sie beispielsweise den folgenden Befehl, um die automatische Variable $PSCulture
abzurufen.
Um weitere Informationen zum Laufwerk Variable:
und zum PowerShellVariable-Anbieter anzuzeigen, geben Sie Folgendes ein:
Variablensyntax mit Anbieterpfaden
Sie können einem Anbieterpfad das Dollarzeichen ($
) voranstellen und auf den Inhalt eines Anbieters zugreifen, der die IContentCmdletProvider-Schnittstelle implementiert.
Die folgenden integrierten PowerShell-Anbieter unterstützen diese Notation:
- about_Environment_Provider
- about_Variable_Provider
- about_Function_Provider
- about_Alias_Provider
Die variablen Cmdlets
PowerShell enthält eine Reihe von Cmdlets, mit denen Variablen verwaltet werden können.
Geben Sie Folgendes ein, um die Cmdlets aufzulisten:
Um Hilfe für ein bestimmtes Cmdlet zu erhalten, geben Sie Folgendes ein:
Cmdlet-Name | Beschreibung |
---|---|
Clear-Variable |
Löscht den Wert einer Variablen. |
Get-Variable |
Ruft die Variablen in der aktuellen Konsole ab. |
New-Variable |
Erstellt eine neue Variable. |
Remove-Variable |
Löscht eine Variable und ihren Wert. |
Set-Variable |
Ändert den Wert einer Variablen. |
Siehe auch
about_Automatic_Variables
about_Environment_Variables