تجنب استخدامComputerNameHardcoded

مستوى الشدة: خطأ

Description

تكتشف هذه القاعدة أسماء الحواسيب المشفرة بشكل ثابت في ComputerName معلمات cmdlets. يمكن لأسماء الحواسيب المشفرة كشفها معلومات حساسة وتقليل قابلية نقل السكريبت. ComputerName يجب دائما أن يكون المعامل معينا أو مخصصا ديناميكيا لضمان مرونة وأمان السكريبتات.

استخدم المعلمات، أو متغيرات البيئة، أو القيم الديناميكية بدلا من أسماء الحواسيب المبرمجة بشكل ثابت.

مثال

غير متوافق

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

متوافقه

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