Freigeben über


New-Variable

Erstellt eine neue Variable.

Syntax

New-Variable [-Name] <string> [[-Value] <Object>] [-Beschreibung <string>] [-Force] [-Option {<None> | <ReadOnly> | <Constant> | <Private> | <AllScope>}] [-PassThru] [-Scope <string>] [-Visibility {<Public> | <Private>}] [-Confirm] [-WhatIf] [<CommonParameters>]

Beschreibung

Mit dem Cmdlet "New-Variable" wird eine neue Variable in Windows PowerShell erstellt. Sie können der Variablen während ihrer Erstellung einen Wert zuweisen oder den Wert nach der Erstellung der Variablen zuweisen oder ändern.

Sie können mit den Parametern von New-Variable die Eigenschaften der Variablen (z. B. die Eigenschaften, die schreibgeschützte oder konstante Variablen erstellen) festlegen, den Bereich einer Variablen festlegen und bestimmen, ob Variablen öffentlich oder privat sind.

In der Regel erstellen Sie eine neue Variable, indem Sie den Variablennamen und ihren Wert eingeben, z. B. "$var = 3". Sie können jedoch auch die zugehörigen Parameter mit dem Cmdlet "New-Variable" verwenden.

Parameter

-Beschreibung <string>

Gibt eine Beschreibung der Variablen an.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Force

Ermöglicht es Ihnen, eine neue Variable mit dem gleichen Namen wie eine vorhandene schreibgeschützte Variable zu erstellen.

Standardmäßig können Sie eine Variable überschreiben, sofern die Variable nicht den Optionswert "ReadOnly" oder "Constant" aufweist. Weitere Informationen finden Sie unter dem Option-Parameter.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Name <string>

Gibt einen Namen für die neue Variable an.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Option <ScopedItemOptions>

Legt den Wert der Options-Eigenschaft der neuen Variablen fest.

Gültige Werte:

– None: Legt keine Optionen fest. (Der Standardwert ist "None".)

– ReadOnly: Der Wert der Variablen kann nicht geändert werden, außer bei Verwendung des Force-Parameters. Sie können die Variable mithilfe von Remove-Variable löschen.

– Constant: Die Variable kann nicht gelöscht und ihre Eigenschaften können nicht geändert werden. "Constant" ist nur verfügbar, wenn Sie einen Alias erstellen. Sie können die Option einer vorhandenen Variablen nicht in "Constant" ändern.

– Private: Die Variable ist nur in dem vom Scope-Parameter angegebenen Bereich verfügbar. Sie wird von untergeordneten Bereichen geerbt. (Dieser Wert ist nicht mit dem Wert "Private" des Visibility-Parameters verwandt.)

– AllScope: Die Variable wird in alle neuen Bereiche kopiert, die erstellt werden.

Um die Options-Eigenschaft der Variablen anzuzeigen, geben Sie "get-variable| Format-Table -property name, options -autosize" ein.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-PassThru

Gibt ein Objekt zurück, das die neue Variable darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Scope <string>

Bestimmt den Bereich der neuen Variablen. Gültige Werte sind "global", "local", "script", oder eine Zahl in Bezug auf den aktuellen Bereich (0 bis zur Anzahl der Bereiche, wobei 0 der aktuelle Bereich und 1 der übergeordnete Bereich ist). Der Standardwert ist "local". Weitere Informationen finden Sie unter "about_Scopes".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Value <Object>

Gibt den Anfangswert der Variablen an.

Erforderlich?

false

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue, ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Visibility <SessionStateEntryVisibility>

Bestimmt, ob die Variable außerhalb der Sitzung, in der sie erstellt wurde, sichtbar ist. Dieser Parameter ist für die Verwendung in Skripts und Befehlen vorgesehen, die für andere Benutzer bereitgestellt werden.

Gültige Werte:

– Public: Die Variable ist sichtbar. (Der Standardwert lautet "Public".)

– Private: Die Variable ist nicht sichtbar.

Eine private Variable wird nicht in Listen von Variablen, z. B. den von Get-Variable zurückgegebenen Listen, oder in Anzeigen des Laufwerks "Variable:" angezeigt. Befehle zum Lesen oder Ändern des Werts einer privaten Variablen geben einen Fehler zurück. Der Benutzer kann jedoch Befehle ausführen, in denen eine private Variable verwendet wird, wenn die Befehle in der Sitzung geschrieben wurden, in der die Variable definiert wurde.

Erforderlich?

false

Position?

named

Standardwert

Public

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Confirm

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.Object

Sie können einen Wert über die Pipeline an New-Variable übergeben.

Ausgaben

Keiner oder System.Management.Automation.PSVariable

Wenn Sie den PassThru-Parameter verwenden, generiert New-Variable ein System.Management.Automation.PSVariable-Objekt, das die neue Variable darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.

Beispiel 1

C:\PS>new-variable days

Beschreibung
-----------
Mit diesem Befehl wird eine neue Variable mit dem Namen "days" erstellt. Sie verfügt über keinen Wert direkt nach dem Befehl.





Beispiel 2

C:\PS>new-variable zipcode -value 98033

Beschreibung
-----------
Mit diesem Befehl wird die Variable "zipcode" erstellt und ihr der Wert "98033" zugewiesen.





Beispiel 3

C:\PS>new-variable -name max -value 256 -option readonly

new-variable -name max -value 1024

new-variable -name max -value 1024 -force

C:\PS> new-variable -name max -value 256 -option readonly

C:\PS> new-variable -name max -value 1024
New-Variable : A variable with name 'max' already exists.
At line:1 char:13
+ new-variable <<<<  -name max -value 1024

C:\PS> new-variable -name max -value 1024 -force

Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie mit der Option "ReadOnly" von New-Variable das Überschreiben einer Variablen verhindert wird.

Mit dem ersten Befehl wird die neue Variable "Max" erstellt und ihr Wert auf "256" festgelegt. Er verwendet den Option-Parameter mit dem Wert "ReadOnly".

Im zweiten Befehl wird versucht, eine zweite Variable mit dem gleichen Namen zu erstellen. Dieser Befehl gibt einen Fehler zurück, da für die Variable die Option "ReadOnly" festgelegt ist.

Im dritten Befehl wird der Schreibschutz der Variablen durch ReadOnly mithilfe des Force-Parameters überschrieben. In diesem Fall wird der Befehl zum Erstellen einer neuen Variablen mit dem gleichen Namen erfolgreich ausgeführt.





Beispiel 4

C:\PS>new-variable -name counter -visibility private

#Effect of private variable in a module.

C:\PS> get-variable c*

Name                           Value
----                           -----
Culture                        en-US
ConsoleFileName
ConfirmPreference              High
CommandLineParameters          {}

C:\PS> $counter
"Cannot access the variable '$counter' because it is a private variable"

C:\PS> Get-Counter
Name         Value
----         -----
Counter1     3.1415
...

Beschreibung
-----------
Dieser Befehl veranschaulicht das Verhalten einer privaten Variablen in einem Modul. Das Modul enthält das Cmdlet "Get-Counter", das über die private Variable "Counter" verfügt. Zum Erstellen der Variablen wird der Visibility-Parameter mit dem Wert "Private" verwendet.

In der Beispielausgabe wird das Verhalten einer privaten Variablen veranschaulicht. Der Benutzer, der das Modul geladen hat, kann den Wert der Variablen "Counter" nicht anzeigen oder ändern, jedoch kann die Variable "Counter" durch Befehle im Modul gelesen und geändert werden.





Siehe auch

Konzepte

Get-Variable
Set-Variable
Remove-Variable
Clear-Variable