AvoidUsingComputerNameHardcoded

重症度レベル:エラー

デフォルト状態:常に有効

Description

このルールは、cmdletの ComputerName パラメータにハードコードされたコンピュータ名を検出します。 ハードコーディングされたコンピュータ名は機密情報を漏らし、スクリプトの携帯性を低下させる可能性があります。 ComputerNameパラメータは常にパラメータ化または動的に割り当てられ、スクリプトが柔軟かつ安全であることを保証します。

ハードコードされたコンピュータ名の代わりにパラメータ、環境変数、動的値を使いましょう。

例

非準拠

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

対応

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

ルールの設定

このルールは常に有効で、設定はできません。 このルールを避けるために、以下のいずれかの方法を用いてください。

  • 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
  • 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。