Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nivel de gravedad de : advertencia
Descripción
Esta regla marca los cmdlets que no están disponibles en una determinada edición y versión de PowerShell en un sistema operativo determinado. Funciona comparando un cmdlet con un conjunto de listas de permitidos que se incluyen con PSScriptAnalyzer. Se pueden encontrar en /path/to/PSScriptAnalyzerModule/Settings. Estos archivos tienen el formato , <psedition>-<psversion>-<os>.json donde <psedition> puede ser Core o Desktop, <os> puede ser Windows, Linux o MacOS, y <psversion> es la versión de PowerShell. Para habilitar la regla para comprobar si el script es compatible con PowerShell Core en windows, coloque el siguiente archivo de configuración:
@{
'Rules' = @{
'PSUseCompatibleCmdlets' = @{
'compatibility' = @('core-6.1.0-windows')
}
}
}
El parámetro compatibility es una lista que contiene cualquiera de las siguientes
- desktop-2.0-windows
- desktop-3.0-windows
- desktop-4.0-windows (tomado de Windows Server 2012R2)
- desktop-5.1.14393.206-windows
- core-6.1.0-windows (tomado de Windows 10 - 1803)
- core-6.1.0-linux (tomado de Ubuntu 18.04)
- core-6.1.0-linux-arm (tomado de Raspbian)
- core-6.1.0-macos
Normalmente, las versiones revisadas de PowerShell tienen los mismos datos de cmdlet, por lo que solo se proporcionan configuraciones de versiones principales y secundarias de PowerShell. También puede crear un archivo de configuración personalizado con el script New-CommandDataFile.ps1. Coloque el archivo .json creado en la carpeta Settings de la carpeta PSScriptAnalyzer módulo. A continuación, los valores del parámetro compatibility son solo el nombre de archivo.
Tenga en cuenta que los archivos de core-6.0.2-* se quitaron en PSScriptAnalyzer 1.18 desde que PowerShell 6.0 alcanzó su fin de vida.