Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poziom nasilenia: Błąd
Domyślny stan: Wyłączony
Description
Ta reguła wykrywa elementy składni, które nie są kompatybilne z wybranymi docelowymi wersjami PowerShell. Gdy uruchamiasz tę regułę z PowerShell 3 lub 4, nie wykrywa składni niekompatybilnej z tymi wersjami, ponieważ te wersje nie potrafią analizować nowszych konstrukcji składniowych.
Example
Niezgodne
Poniższy przykład wykorzystuje składnię PowerShell 7. Jeśli TargetVersions zawiera 5.1 lub wcześniej, ta zasada oznacza te stwierdzenia.
$message = $IsReady ? 'Ready' : 'Not ready'
$displayName = $name ?? 'Unknown'
Zgodne
if ($IsReady) {
$message = 'Ready'
} else {
$message = 'Not ready'
}
if ($name -ne $null) {
$displayName = $name
} else {
$displayName = 'Unknown'
}
Konfiguruj regułę
@{
Rules = @{
PSUseCompatibleSyntax = @{
Enable = $true
TargetVersions = @(
'6.0',
'5.1',
'4.0'
)
}
}
}
Parameters
Enable
Ten parametr decyduje, czy ScriptAnalyzer sprawdza kod względem tej reguły. Akceptuje wartość boolowską. Aby włączyć tę regułę, ustaw ten parametr na .$true Wartość domyślna to $false.
TargetVersions
Ten parametr określa wersje PowerShell, z którymi Twój kod musi być kompatybilny. Akceptuje tablicę ciągów wersji, takich jak '7.0', '5.1', lub '4.0'. ScriptAnalyzer oznacza składnię, która nie jest wspierana w żadnej docelowej wersji.