2017-01-23 17 views
2

我的$var變量在遠程計算機上不起作用。我使用過濾器,如鏈接In powershell passing variable to where-object not working。但是我的腳本仍然無法從我的輸入中找到應用程序。哪裏對象傳遞變量不能在塊腳本上工作

$var = "application" 

Invoke-command -ComputerName $cpu { 
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* , 
HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | 
Where-Object {$_.DisplayName -like "*$var*"} 

回答

5

根據您的PowerShell的版本,你要麼必須使用$using:前綴上的變量,也有使用-ArgumentList參數來傳遞變量。這裏舉一個例子:

Invoke-command -ComputerName $cpu { 
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* , 
HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | 
Where-Object {$_.DisplayName -like "*$using:var*"} 
+0

現在它的工作。謝謝。 – cinq2