Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Livello di gravità: Errore
Stato predefinito: Disabilitato
Description
Questa regola rileva elementi sintattici che non sono compatibili con le versioni di riferimento PowerShell specificate. Quando esegui questa regola da PowerShell 3 o 4, non può rilevare sintassi incompatibile con quelle versioni perché quelle versioni non possono analizzare le nuove costruzioni sintassiche.
Example
Non conforme
Il seguente esempio utilizza la sintassi di PowerShell 7. Se TargetVersions include 5.1 o è precedente, questa regola segnala queste affermazioni.
$message = $IsReady ? 'Ready' : 'Not ready'
$displayName = $name ?? 'Unknown'
Compliant
if ($IsReady) {
$message = 'Ready'
} else {
$message = 'Not ready'
}
if ($name -ne $null) {
$displayName = $name
} else {
$displayName = 'Unknown'
}
Configurare regola
@{
Rules = @{
PSUseCompatibleSyntax = @{
Enable = $true
TargetVersions = @(
'6.0',
'5.1',
'4.0'
)
}
}
}
Parameters
Enable
Questo parametro controlla se ScriptAnalyzer verifica il codice rispetto a questa regola. Accetta un valore booleano. Per abilitare questa regola, imposta questo parametro a $true. Il valore predefinito è $false.
TargetVersions
Questo parametro specifica le versioni PowerShell con cui il tuo codice deve essere compatibile. Accetta un array di stringhe di versione, come '7.0', '5.1', o '4.0'. ScriptAnalyzer segnala una sintassi che non è supportata in nessuna versione che preferisci.