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}
这有效。
我在使用 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}
这有效。