Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Allvarlighetsgrad: Fel
Standardtillstånd: Inaktiverat
Beskrivning
Denna regel upptäcker syntaxelement som inte är kompatibla med dina angivna PowerShell-målversioner. När du kör denna regel från PowerShell 3 eller 4 kan den inte upptäcka syntax som är inkompatibel med dessa versioner eftersom de versionerna inte kan tolka nyare syntaxkonstruktioner.
Example
Ej överensstämmande
Följande exempel använder PowerShell 7-syntaxen. Om TargetVersions inkluderar 5.1 eller tidigare, flaggar denna regel dessa påståenden.
$message = $IsReady ? 'Ready' : 'Not ready'
$displayName = $name ?? 'Unknown'
Godkänd
if ($IsReady) {
$message = 'Ready'
} else {
$message = 'Not ready'
}
if ($name -ne $null) {
$displayName = $name
} else {
$displayName = 'Unknown'
}
Konfigurera regel
@{
Rules = @{
PSUseCompatibleSyntax = @{
Enable = $true
TargetVersions = @(
'6.0',
'5.1',
'4.0'
)
}
}
}
Parameters
Enable
Denna parameter styr om ScriptAnalyzer kontrollerar koden mot denna regel. Den accepterar ett boolesk värde. För att aktivera denna regel, sätt denna parameter till $true. Standardvärdet är $false.
TargetVersions
Denna parameter specificerar vilka PowerShell-versioner din kod måste vara kompatibel med. Den accepterar en array av versionssträngar, såsom '7.0', '5.1', , eller '4.0'. ScriptAnalyzer flaggar syntax som inte stöds i någon version du riktar dig mot.