Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nível de gravidade: Aviso
Descrição
Esta regra deteta cmdlets que não estão disponíveis para a edição, versão e sistema operativo PowerShell que pretendes. A regra compara cada cmdlet do teu script com uma lista de compatibilidade que vem com o PSScriptAnalyzer. Estes ficheiros encontram-se na seguinte localização: /path/to/PSScriptAnalyzerModule/Settings.
Cada ficheiro utiliza este formato de nomenclatura:
<psedition>-<psversion>-<os>.json
Where:
-
<psedition>éCoreouDesktop -
<psversion>é a versão PowerShell -
<os>éWindows,Linux,Linux-ArmouMacOS
Example
Para verificar se o seu script é compatível com o PowerShell Core 6.1 no Windows, adicione esta configuração:
@{
'Rules' = @{
'PSUseCompatibleCmdlets' = @{
'compatibility' = @('core-6.1.0-windows')
}
}
}
O parâmetro de compatibilidade aceita uma lista de um ou mais identificadores-alvo, tais como:
- área de trabalho-2.0-windows
- área de trabalho-3.0-windows
- desktop-4.0-windows (retirado do Windows Server 2012 R2)
- área de trabalho-5.1.14393.206-windows
- Core-6.1.0-Windows (retirado do Windows 10, versão 1803)
- core-6.1.0-linux (retirado do Ubuntu 18.04)
- core-6.1.0-linux-arm (retirado do Raspbian)
- Core-6.1.0-macOS
As versões PowerShell com patches geralmente têm os mesmos dados de cmdlet, por isso esta regra inclui principalmente perfis de versões maiores e secundárias.
Também pode criar um perfil personalizado comNew-CommandDataFile.ps1. Coloque o ficheiro JSON gerado na Settings pasta do PSScriptAnalyzer módulo. Depois podes referenciar esse ficheiro pelo nome em compatibility.
Os core-6.0.2-* ficheiros foram removidos no PSScriptAnalyzer 1.18 porque o PowerShell 6.0 atingiu o seu fim de vida.