Powershell Get-Package 未正确过滤

Powershell Get-Package not filtering properly

我在使用 Get-Package cmdlet 过滤应用程序时遇到这个问题

当我使用下面的代码时,

$Cred = Get-Credential

Invoke-Command -ComputerName "server01" -Credential $Cred -ScriptBlock { Get-Package -Name  "Google Chrome"}

它正在从远程计算机正确过滤掉 Chrome。(见下文)

如果我将 Chrome 分配给一个变量,如下所示

$Cred = Get-Credential
$app = "Google Chrome"
Invoke-Command -ComputerName "server01" -Credential $Cred -ScriptBlock { Get-Package -Name  $app}

它显​​示远程计算机上安装的所有应用程序。

这里的问题似乎是什么?这不是分配变量的正确方法吗?

我明白了。必须在 variable

前使用 $Using
$Cred = Get-Credential
$app = "Google Chrome"
Invoke-Command -ComputerName "server01" -Credential $Cred -ScriptBlock { Get-Package -Name  $Using:app}

这有效。