UseCompatibleSyntax

Schweregrad: Fehler

Standardzustand: Deaktiviert

Description

Diese Regel erkennt Syntaxelemente, die nicht mit deinen angegebenen PowerShell-Zielversionen kompatibel sind. Wenn du diese Regel aus PowerShell 3 oder 4 ausführst, kann sie keine Syntax erkennen, die mit diesen Versionen inkompatibel ist, weil diese Versionen neuere Syntaxkonstrukte nicht parsen können.

Example

Nicht konform

Das folgende Beispiel verwendet PowerShell 7-Syntax. Wenn TargetVersions enthält 5.1 oder früher, markiert diese Regel diese Aussagen.

$message = $IsReady ? 'Ready' : 'Not ready'
$displayName = $name ?? 'Unknown'

Konform

if ($IsReady) {
    $message = 'Ready'
} else {
    $message = 'Not ready'
}

if ($name -ne $null) {
    $displayName = $name
} else {
    $displayName = 'Unknown'
}

Configure rule

@{
    Rules = @{
        PSUseCompatibleSyntax = @{
            Enable = $true
            TargetVersions = @(
                '6.0',
                '5.1',
                '4.0'
            )
        }
    }
}

Parameter

Aktivieren

Dieser Parameter steuert, ob ScriptAnalyzer den Code anhand dieser Regel prüft. Es akzeptiert einen boolschen Wert. Um diese Regel zu aktivieren, setze diesen Parameter auf $true. Der Standardwert ist $false.

TargetVersions

Dieser Parameter gibt die PowerShell-Versionen an, mit denen Ihr Code kompatibel sein muss. Es akzeptiert ein Array von Versionszeichenketten, wie '7.0', '5.1', oder '4.0'. ScriptAnalyzer markiert eine Syntax, die in keiner der von dir anvisierten Versionen unterstützt wird.