Set-StrictMode - PowerShell Befehl Hilfe und Beispiele

Erstellt und erzwingt Codierungsregeln in Ausdrücken, Skripts und Skriptblöcken. (Set-StrictMode)


NAME
Set-StrictMode
ÜBERSICHT
Erstellt und erzwingt Codierungsregeln in Ausdrücken, Skripts und Skriptblöcken.
SYNTAX
Set-StrictMode -Off [<CommonParameters>] Set-StrictMode -Version <Version> [<CommonParameters>]
BESCHREIBUNG
Mit dem Cmdlet "Set-StrictMode" wird der Strict-Modus für den aktuellen Bereich (und alle untergeordneten Bereiche) aktiviert und deaktiviert. Wenn der Strict-Modus aktiviert ist, wird von Windows PowerShell ein Fehler mit Abbruch generiert, falls der Inhalt eines Ausdrucks, Skripts oder Skriptblocks gegen grundlegende empfohlene Codierungsregeln verstößt. Mit dem Version-Parameter können Sie die Codierungsregeln bestimmen, die erzwungen werden. Im Gegensatz zum Cmdlet "Set-PSDebug" wirkt sich Set-StrictMode nur auf den aktuellen Bereich einschließlich der untergeordneten Bereiche aus und kann deshalb in einem Skript oder in einer Funktion verwendet werden, ohne den globalen Bereich zu beeinflussen. Wenn Set-StrictMode deaktiviert ist, wird für nicht initialisierte Variablen (Version 1) je nach Typ der Wert 0 (null) oder "$null" zugrunde gelegt. Verweise auf nicht vorhandene Eigenschaften geben "$null" zurück, und die Ergebnisse einer ungültigen Funktionssyntax sind fehlerspezifisch. Unbenannte Variablen sind nicht zulässig.
PARAMETER
-Off [<SwitchParameter>] Deaktiviert den Strict-Modus. Mit diesem Parameter wird auch "Set-PSDebug -Strict" deaktiviert. Erforderlich? true Position? named Standardwert Keiner Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false -Version <Version> Gibt die Bedingungen an, die im Strict-Modus einen Fehler verursachen. Dieser Parameter ist erforderlich. Die gültigen Werte sind "1.0", "2.0" und "Latest". In der folgenden Liste werden die Auswirkungen der einzelnen Werte angezeigt. 1.0 - Verhindert Verweise auf nicht initialisierte Variablen, mit Ausnahme nicht initialisierter Variablen in Zeichenfolgen. 2.0 - Verhindert Verweise auf nicht initialisierte Variablen (einschließlich nicht initialisierter Variablen in Zeichenfolgen). - Verhindert Verweise auf nicht vorhandene Eigenschaften eines Objekts. - Verhindert Funktionsaufrufe mit der Syntax für aufrufende Methoden. - Verhindert eine Variable ohne Namen (${}). Latest: - Wählt die neueste (strengste) Version aus, die verfügbar ist. Mit diesem Wert können Sie sicherstellen, dass, auch wenn neue Versionen von Windows PowerShell hinzugefügt werden, die strengste verfügbare Version verwendet wird. Erforderlich? true Position? named Standardwert Keiner 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
Keiner Eingaben können nicht über die Pipeline an dieses Cmdlet übergeben werden.
AUSGABEN
Keiner Dieses Cmdlet gibt keine Ausgabe zurück.
HINWEISE
Set-StrictMode ähnelt dem Strict-Parameter von Set-PSDebug. "Set-Strictmode -version 1" entspricht "Set-PSDebug -strict" mit der Ausnahme, dass sich Set-PSDebug auf alle Bereiche auswirkt. Set-StrictMode wirkt sich nur auf den festgelegten Bereich sowie auf die untergeordneten Bereiche aus. Weitere Informationen zu Bereichen in Windows PowerShell finden Sie unter "about_Scopes".

Beispiele

BEISPIEL 1
C:\PS>set-strictmode -version 1.0 C:\PS> $a -gt 5 False The variable $a cannot be retrieved because it has not been set yet. At line:1 char:3 + $a <<<< -gt 5 + CategoryInfo : InvalidOperation: (a:Token) [], RuntimeException + FullyQualifiedErrorId : VariableIsUndefined Beschreibung ----------- Mit diesem Befehl wird der Strict-Modus aktiviert und auf Version 1.0 festgelegt. Verweise auf Variablen, die nicht initialisiert wurden, schlagen daher fehl. In der Beispielausgabe werden die Auswirkungen der Version 1.0 im Strict-Modus dargestellt.
BEISPIEL 2
C:\PS># set-strictmode -version 2.0 # Strict mode is off by default. C:\PS> function add ($a, $b) {$a + $b} C:\PS> add 3 4 7 C:\PS> add(3,4) 3 4 C:\PS> set-strictmode -version 2.0 C:\PS> add(3,4) The function or command was called like a method. Parameters should be separated by spaces, as described in 'Get-Help about_Parameter.' At line:1 char:4 + add <<<< (3,4) + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : StrictModeFunctionCallWithParens C:\PS> set-strictmode -off C:\PS> $string = "This is a string". C:\PS> $string.Month C:\PS> C:\PS> set-strictmode -version 2.0 C:\PS> $string = "This is a string". C:\PS> $string.Month Property 'month' cannot be found on this object; make sure it exists. At line:1 char:9 + $string. <<<< month + CategoryInfo : InvalidOperation: (.:OperatorToken) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFoundStrict Beschreibung ----------- Mit diesem Befehl wird der Strict-Modus aktiviert und auf Version 2.0 festgelegt. Windows PowerShell löst daher einen Fehler aus, wenn für einen Funktionsaufruf Methodensyntax (Klammern und Kommas) verwendet oder wenn auf nicht initialisierte Variablen oder nicht vorhandene Eigenschaften verwiesen wird. In der Beispielausgabe werden die Auswirkungen der Version 2.0 im Strict-Modus dargestellt. Ohne die Version 2.0 im Strict-Modus wird der Wert "(3,4)" als einzelnes Arrayobjekt interpretiert, dem nichts hinzugefügt wird. Mit Version 2.0 im Strict-Modus wird der Wert ordnungsgemäß als fehlerhafte Syntax zum Senden zweier Werte interpretiert. Ohne die Version 2.0 wird durch den Verweis auf die nicht vorhandene Month-Eigenschaft einer Zeichenfolge nur NULL zurückgegeben. Mit der Version 2.0 wird der Wert ordnungsgemäß als Verweisfehler interpretiert. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113450 (möglicherweise auf Englisch) about_Debuggers about_Scopes Set-PSDebug C:\Windows>powershell get-help New-Module -full

Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.

ColorConsole [Version 3.7.1000] PowerShell 2.0-Export

Windows 11, 10, 8.1, 8, 7 / Server 2022, 2019, 2016











Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



PowerShell: Erstellt und erzwingt Codierungsregeln in Ausdrücken, Skripts und Skriptblöcken.

HTTP: ... PS_Windows/de/Set-StrictMode.htm
0.078
17939
Was ist ein System-Sound?
Unterschied Ziffernblock und Nummernblock!
Wie groß ist Windows-7, bzw. welche Größe sollte die Festplattenpartion haben?
What is USB (interface)?
WINDOWS EINSTELLUNG MS SETTINGS WORKPLACE
WINDOWS EINSTELLUNG MS SETTINGS EASEOFACCESS COLORFILTER BLUELIGHTLINK
Dateiformate und Dateitypen, was ist das?
WINDOWS EINSTELLUNG MS SETTINGS EASEOFACCESS COLORFILTER BLUELIGHTLINK
Ihr Android Gerät unterstützt keine Datendienste, Fehlermeldung?
Wie lange dauert 35 mal überschreiben plus Zufalls-Umbenennen?



(0)