Compartir a través de


AvoidOverwritingBuiltInCmdlets

Nivel de gravedad de : advertencia

Descripción

Esta regla marca los cmdlets que están disponibles en una determinada edición o versión de PowerShell en un sistema operativo determinado que se sobrescribe mediante una declaración de función. Funciona comparando declaraciones de función con un conjunto de listas de permitidos que se incluyen con PSScriptAnalyzer. Otras reglas de PSScriptAnalyzer usan estos archivos de lista de permitidos. Puede encontrar más información en la documentación de la regla UseCompatibleCmdlets.

Configuración

Para habilitar la regla para comprobar si el script es compatible con PowerShell Core en Windows, coloque el siguiente archivo de configuración.

@{
    'Rules' = @{
        'PSAvoidOverwritingBuiltInCmdlets' = @{
            'PowerShellVersion' = @('core-6.1.0-windows')
        }
    }
}

Parámetros

PowerShellVersion

El parámetro PowerShellVersion es una lista de listas de permitidos que se incluyen con PSScriptAnalyzer.

Nota

El valor predeterminado de PowerShellVersion es core-6.1.0-windows si se instala PowerShell 6 o posterior y desktop-5.1.14393.206-windows si no lo es.

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, así como con el script de New-CommandDataFile.ps1 y usarlo colocando el JSON creado en la carpeta Settings de la carpeta de instalación del módulo de PSScriptAnalyzer, el parámetro PowerShellVersion es solo su nombre de archivo (que también se puede cambiar si lo desea). Tenga en cuenta que los archivos de core-6.0.2-* se quitaron en PSScriptAnalyzer 1.18 desde que PowerShell 6.0 alcanzó el final del ciclo de vida.