AvoidUsingComputerNameHardcoded

Tingkat Tingkat Keparahan: Kesalahan

Status default: Selalu diaktifkan

Description

Aturan ini mendeteksi nama komputer yang dikodekan keras dalam ComputerName parameter cmdlet. Nama komputer yang dikodekan keras dapat mengekspos informasi sensitif dan mengurangi portabilitas skrip. Parameter harus ComputerName selalu diparameterkan atau ditetapkan secara dinamis untuk memastikan skrip fleksibel dan aman.

Gunakan parameter, variabel lingkungan, atau nilai dinamis alih-alih nama komputer yang dikodekan keras.

Example

Tidak sesuai

Function Invoke-MyRemoteCommand ()
{
    Invoke-Command -Port 343 -ComputerName HardcodedRemoteHostname
}

Sesuai

Function Invoke-MyCommand ($ComputerName)
{
    Invoke-Command -Port 343 -ComputerName $ComputerName
}

Mengonfigurasi aturan

Aturan ini selalu diaktifkan dan tidak dapat dikonfigurasi. Gunakan salah satu metode berikut untuk menghindari penggunaan aturan ini:

  • Buat file konfigurasi aturan kustom untuk hanya menyertakan aturan yang Anda inginkan atau kecualikan aturan yang tidak Anda inginkan.
  • Tambahkan atribut penekanan aturan yang sesuai ke kode Anda untuk menekan aturan untuk blok kode tertentu. Untuk informasi selengkapnya, lihat bagian Menekan aturanMenggunakan PSScriptAnalyzer.