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".

# 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

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.

OS: Windows-10 / Windows-8.1 & 8 / Windows-7 & Vista / Windows Server 2008-2016
»»»» ColorConsole



 


... Home  
... Impressum
... ColorConsole

... CMD
... Netsh-XP
... Netsh-7
... Netsh-Vista
... Powershell





;-)









Windows 10 download: Starter, Home (Basic Premium), Professional und Win 10 Ultimate!

... facebook.de
0.077
Don't Sleep - Exit and Standby/Hibernation option bei Windows-7 Vista und höher?  / Server 2008 und Windows 7 parallel installieren?  / Why is Windows 8.1 x64 bigger than x32 on HD and Greater on DVD?  / Wie kann ich meine IP-Adressen herausfinden (PC-Name)?  / Download free trial versions from Adobe.com!  / Im Energiesparmodus von Windows-7 das Kennwort bei Reaktivierung anfordern, deaktivieren?  / Where are the default images for users in Windows 8.1 / 10 (picture, directory)!  / How to use the Start screen instead of Classic Start menu in Windows-10?  / How can i view *.ttc fonts in not Windows Font folder?  / How to disable Auto Startup Programs in Windows 7?  / How to change or set Windows 7 default font settings to bold, italic?  / Wie kann man bei Windows 7 bei Programmen die Schrift größer machen?  /