AvoidUsingComputerNameHardcoded

严重程度等级:错误

Description

该规则检测cmdlet参数中的 ComputerName 硬编码计算机名称。 硬编码的计算机名称可能会暴露敏感信息,降低脚本的可移植性。 ComputerName参数应始终参数化或动态分配,以确保脚本的灵活性和安全性。

使用参数、环境变量或动态值代替硬编码的计算机名称。

Example

非符合性

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

合规的

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