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à : avviso
Descrizione
Questa regola rileva i cmdlet che non sono disponibili per l'edizione, la versione e il sistema operativo PowerShell che si mira. La regola confronta ogni cmdlet nel tuo script con una compatibility allow list che viene fornita con PSScriptAnalyzer. Questi file si trovano nella seguente posizione: /path/to/PSScriptAnalyzerModule/Settings.
Ogni file utilizza questo formato di denominazione:
<psedition>-<psversion>-<os>.json
Dove:
-
<psedition>èCoreoDesktop -
<psversion>è la versione PowerShell -
<os>èWindows,Linux,Linux-ArmoMacOS
Example
Per verificare se il tuo script è compatibile con PowerShell Core 6.1 su Windows, aggiungi questa configurazione:
@{
'Rules' = @{
'PSUseCompatibleCmdlets' = @{
'compatibility' = @('core-6.1.0-windows')
}
}
}
Il parametro di compatibilità accetta un elenco di uno o più identificatori target, come ad esempio:
- desktop-2.0-windows
- desktop-3.0-windows
- desktop-4.0-windows (preso da Windows Server 2012 R2)
- desktop-5.1.14393.206-windows
- Core-6.1.0-Windows (preso da Windows 10, versione 1803)
- core-6.1.0-linux (tratto da Ubuntu 18.04)
- core-6.1.0-linux-arm (tratto da Raspbian)
- core-6.1.0-macos
Le versioni PowerShell patchate di solito hanno gli stessi dati cmdlet, quindi questa regola include principalmente i profili di versione maggiore e minore.
Puoi anche creare un profilo personalizzato conNew-CommandDataFile.ps1. Inserisci il file JSON generato nella Settings cartella del PSScriptAnalyzer modulo. Poi puoi fare riferimento a quel file per nome sotto compatibility.
I core-6.0.2-* file sono stati rimossi in PSScriptAnalyzer 1.18 perché PowerShell 6.0 aveva raggiunto la fine della sua vita utile.