ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.
C:\Windows-7>Powershell get-help Set-Variable -full
NAME
Set-Variable
# ÜBERSICHT
Legt den Wert einer Variablen fest. Erstellt die Variable, wenn keine
Variable mit dem angeforderten Namen vorhanden ist.
# SYNTAX
Set-Variable [-Name
] <string
[]>
[[-Value
] <Object>
] [-Description <string>
] [-Exclude <string
[]>
] [-Force
] [-Include <string
[]>
] [-Option
{None | ReadOnly | Constant | Private | AllScope
}] [-PassThru
] [-Scope <string>
] [-Visibility
{Public | Private
}] [-Confirm
] [-WhatIf
] [<CommonParameters>
]
# BESCHREIBUNG
Das Cmdlet "
Set-Variable" weist einer angegebenen Variablen einen Wert zu oder ändert den aktuellen Wert. Wenn die
Variable nicht vorhanden ist, wird sie vom Cmdlet erstellt.
# PARAMETER
-Description <string>
Gibt die Beschreibung der Variablen an.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-Exclude <string
[]>
Lässt die angegebenen Elemente aus. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-Force [<SwitchParameter>
]
Ermöglicht es Ihnen, eine
Variable mit dem gleichen Namen wie eine vorhandene schreibgeschützte
Variable zu erstellen oder den Wert einer schreibgeschützten Variablen zu ändern.
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
-Include <string
[]>
Ändert nur die angegebenen Elemente. Der Name-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Namensmuster ein, z. B. "c*". Platzhalter sind zulässig.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-Name <string
[]>
Gibt den Variablennamen an.
Erforderlich? true
Position? 1
Standardwert
Pipelineeingaben akzeptieren?true
(ByPropertyName
)
Platzhalterzeichen akzeptieren?false
-Option <ScopedItemOptions>
Ändert den Wert der Options-Eigenschaft der Variablen. Gültige Werte:
- None: Legt keine Optionen fest.
(Der Standardwert ist "None".
)
- ReadOnly: Die Eigenschaften der Variablen können 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.
- 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 [<SwitchParameter>
]
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 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 Wert 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 [<SwitchParameter>
]
Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-WhatIf [<SwitchParameter>
]
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 folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "
get-help about_commonparameters".
# EINGABEN
System.Object
Sie können ein Objekt, das den Wert der Variablen darstellt, über die Pipeline an
Set-Variable übergeben.
# AUSGABEN
Keiner oder System.Management.Automation.PSVariable
Wenn Sie den PassThru-Parameter verwenden, generiert
Set-Variable ein System.Management.Automation.PSVariable-Objekt, das die neue oder geänderte
Variable darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.
# HINWEISE
# BEISPIEL 1
C:\PS>set-variable -name desc -value "A description"
C:\PS>get-variable -name desc
Beschreibung
-----------
Mit diesen Befehlen wird der Wert der Variablen "desc" auf "A description" festgelegt und dann der Wert der Variablen abgerufen.
# BEISPIEL 2
C:\PS>set-variable -name processes -value
(Get-Process
) -option constant -scope global -description "All processes" -passthru |
format-list -property *
Beschreibung
-----------
Mit diesem Befehl wird eine globale schreibgeschützte
Variable erstellt, die alle Prozesse auf dem System enthält, und anschließend werden alle Eigenschaften der Variablen angezeigt.
In dem Befehl wird die
Variable mit dem Cmdlet "
Set-Variable" erstellt. Mit dem PassThru-Parameter wird ein Objekt erstellt, das die neue
Variable darstellt, und mit dem Pipelineoperator
(|
) wird das Objekt an das Cmdlet "
Format-List" übergeben. Der Property-Parameter von
Format-List mit dem Wert für alle
(*
) wird verwendet, um alle Eigenschaften der neu erstellten Variablen anzuzeigen.
Der Wert "
(Get-Process
)" wird in Klammern eingeschlossen, um sicherzustellen, dass er ausgeführt wird, bevor er in der Variablen gespeichert wird. Andernfalls enthält die
Variable die Zeichenfolge "
Get-Process".
# BEISPIEL 3
C:\PS>#
set-variable -name counter -visibility private
C:\PS>
new-variable -name counter -visibility public -value 26
C:\PS> $counter
26
C:\PS>
get-variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters
{}
Counter 26
C:\PS>
set-variable -name counter -visibility private
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> .\use-counter.ps1
Commands completed successfully.
Beschreibung
-----------
Dieser Befehl veranschaulicht, wie der Wert für die Sichtbarkeit einer Variablen in "Private" geändert wird. Diese
Variable kann von Skripts mit den erforderlichen Berechtigungen gelesen und geändert werden, sie ist jedoch für den Benutzer nicht sichtbar.
Die Beispielausgabe veranschaulicht den Unterschied im Verhalten von öffentlichen und privaten Variablen.
VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113401
(möglicherweise auf Englisch
)
Get-Variable
New-Variable
Remove-Variable
Clear-Variable
C:\Windows>powershell
get-help Remove-Variable -full