Bagikan melalui


AvoidOverwritingBuiltInCmdlets

Tingkat Keparahan : Peringatan

Deskripsi

Aturan ini menandai cmdlet yang tersedia dalam PowerShell edisi/versi tertentu pada sistem operasi tertentu yang ditimpa oleh deklarasi fungsi. Ini bekerja dengan membandingkan deklarasi fungsi dengan sekumpulan daftar izin yang dikirim dengan PSScriptAnalyzer. File daftar izin ini digunakan oleh aturan PSScriptAnalyzer lainnya. Informasi selengkapnya dapat ditemukan dalam dokumentasi untuk aturan UseCompatibleCmdlets.

Konfigurasi

Untuk mengaktifkan aturan guna memeriksa apakah skrip Anda kompatibel pada PowerShell Core di Windows, letakkan file pengaturan Anda berikut ini.

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

Parameter

PowerShellVersion

Parameter PowerShellVersion adalah daftar daftar yang diizinkan yang dikirim dengan PSScriptAnalyzer.

Nota

Nilai default untuk PowerShellVersioncore-6.1.0-windows jika PowerShell 6 atau yang lebih baru diinstal, dan desktop-5.1.14393.206-windows jika tidak.

Biasanya, versi PowerShell yang di-patch memiliki data cmdlet yang sama, oleh karena itu hanya pengaturan versi utama dan minor PowerShell yang disediakan. Seseorang juga dapat membuat file pengaturan kustom juga dengan skrip New-CommandDataFile.ps1 dan menggunakannya dengan menempatkan JSON yang dibuat ke folder Settings folder penginstalan modul PSScriptAnalyzer, maka parameter PowerShellVersion hanyalah nama filenya (yang juga dapat diubah jika diinginkan). Perhatikan bahwa file core-6.0.2-* dihapus di PSScriptAnalyzer 1.18 karena PowerShell 6.0 mencapai akhir masa pakai.