Legt den Wert einer Variablen fest. Erstellt die Variable, wenn keine Variable mit dem angeforderten Namen vorhanden ist. (Set-Variable)
NAMESet-VariableÜBERSICHTLegt den Wert einer Variablen fest. Erstellt die Variable, wenn keine Variable mit dem angeforderten Namen vorhanden ist.SYNTAXSet-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>]BESCHREIBUNGDas 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".EINGABENSystem.Object Sie können ein Objekt, das den Wert der Variablen darstellt, über die Pipeline an Set-Variable übergeben.AUSGABENKeiner 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.HINWEISEBeispiele
BEISPIEL 1C:\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 2C:\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 3C:\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
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export