Freigeben über


Clear-Variable

Löscht den Wert einer Variablen.

Syntax

Clear-Variable
     [-Name] <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-PassThru]
     [-Scope <String>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Beschreibung

Das Cmdlet Clear-Variable löscht die in einer Variablen gespeicherten Daten, löscht jedoch nicht die Variable. Daher ist der Wert der Variablen NULL (leer). Wenn die Variable über einen angegebenen Daten- oder Objekttyp verfügt, behält dieses Cmdlet den Typ des objekts bei, das in der Variablen gespeichert ist.

Beispiele

Beispiel 1: Entfernen des Werts globaler Variablen, die mit einer Suchzeichenfolge beginnen

Clear-Variable my* -Scope Global

Mit diesem Befehl wird der Wert von globalen Variablen entfernt, die Namen enthalten, die mit meinem Namen beginnen.

Beispiel 2: Löschen einer Variablen in einem untergeordneten Bereich, aber nicht im übergeordneten Bereich

$a=3
&{ Clear-Variable a }
$a

3

Diese Befehle veranschaulichen, dass das Löschen einer Variablen in einem untergeordneten Bereich den Wert im übergeordneten Bereich nicht löscht. Der erste Befehl legt den Wert der Variablen $a auf 3 fest. Der zweite Befehl verwendet den Aufrufoperator (&), um den befehl Clear-Variable in einem neuen Bereich auszuführen. Die Variable wird im untergeordneten Bereich gelöscht (obwohl sie nicht vorhanden war), aber nicht im lokalen Bereich gelöscht. Der dritte Befehl, der den Wert von $aabruft, zeigt an, dass der Wert 3 nicht betroffen ist.

Beispiel 3: Löschen des Werts der angegebenen Variablen

Clear-Variable -Name "Processes"

Mit diesem Befehl wird der Wert der Variablen namens "Prozesse" gelöscht. Nachdem das Cmdlet den Vorgang abgeschlossen hat, ist die Variable mit dem Namen "Prozesse" noch vorhanden, der Wert ist jedoch NULL.

Parameter

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Exclude

Gibt ein Array von Elementen an, die dieses Cmdlet im Vorgang ausgelassen. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder ein Muster ein, z. B. "s*". Wildcards sind zulässig.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-Force

Ermöglicht es dem Cmdlet, eine Variable zu löschen, auch wenn sie schreibgeschützt ist. Selbst bei Verwendung des Parameters Force kann das Cmdlet keine Konstanten löschen.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Include

Gibt ein Array von Elementen an, die dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder ein Muster ein, z. B. "s*". Wildcards sind zulässig.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-Name

Gibt den Namen der variablen an, die gelöscht werden soll. Wildcards sind zulässig. Dieser Parameter ist erforderlich, der Parametername Name ist jedoch optional.

Typ:String[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-PassThru

Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig generiert dieses Cmdlet keine Ausgabe.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Scope

Gibt den Bereich an, in dem dieser Alias gültig ist.

Die zulässigen Werte für diesen Parameter sind:

  • Global
  • Local
  • Script

Sie können auch eine Zahl relativ zum aktuellen Bereich verwenden (0 bis zur Anzahl der Bereiche, wobei 0 der aktuelle Bereich ist und 1 das übergeordnete Element ist). Lokal ist die Standardeinstellung. Weitere Informationen finden Sie unter about_Scopes.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

None

Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.

PSVariable

Wenn Sie den PassThru--Parameter verwenden, gibt dieses Cmdlet ein PSVariable--Objekt zurück, das die gelöschte Variable darstellt.

Hinweise

Windows PowerShell enthält die folgenden Aliase für Clear-Variable:

  • clv

  • Verwenden Sie Remove-Variable oder Remove-Item, um eine Variable zusammen mit ihrem Wert zu löschen.

    Dieses Cmdlet löscht nicht die Werte von Variablen, die als Konstanten oder im Besitz des Systems festgelegt werden, auch wenn Sie den Parameter Force verwenden.

    Wenn die Variable, die Sie löschen, nicht vorhanden ist, hat das Cmdlet keine Auswirkung. Es wird keine Variable mit einem Nullwert erstellt.