2017-04-26 93 views
0

我有下面這個命令使用WMI和Win32_process在遠程計算機上運行命令。計算機在下面的示例中稱爲7-df-1。Powershell WMI Win32_process遠程命令問題

我有一個問題與我的引號我試過單引號和雙引號,但命令仍然無法正常工作。它應該將Surface固件安裝程序下載到遠程計算機上的C驅動器。

我在做什麼錯?謝謝你的關注

([WMICLASS]"\\7-df-1\Root\CIMV2:Win32_Process").create(「 (new-object system.net.webclient).downloadfile('https://download.microsoft.com/download/6/A/C/6ACB37C4-E4C1-4E0E-BBAE-AC7A0C303593/SurfacePro4_Win10_15063_1701801_0.msi', 'c:\save.msi')」) 
+1

這看起來喜歡的事,會創建一個進程的方法;但是您正在嘗試運行Powershell腳本,因此很難看到這將如何工作。您可能應該查看「Invoke-Command」cmdlet – NullUserException

回答

1

Create()方法接受命令行字符串,所以如果你簡單地給一個PowerShell命令/表達它不會承認。

所以你不得不提一下你給出的特定命令的處理程序。

([WMICLASS]"\\localhost\Root\CIMV2:Win32_Process").create(「Powershell.exe -c &{ (new-object system.net.webclient).downloadfile('https://download.microsoft.com/download/6/A/C/6ACB37C4-E4C1-4E0E-BBAE-AC7A0C303593/SurfacePro4_Win10_15063_1701801_0.msi', 'c:\save.msi')}」) 

你可以得到幫助Infor公司的創建()爲Win32_Process的here

0

不好回答。見評論部分。

我同意@NullUserException,Invoke-Command是要用於此目的的cmdlet。我建議你嘗試一下。

這樣說,我不能在我的環境中測試你的命令,但它看起來像你試圖將字面命令作爲字符串傳遞給遠程機器。在這種情況下,您想使用HereStrings。他們是單引號之上的步驟。試試這個:

([WMICLASS]"\\7-df-1\Root\CIMV2:Win32_Process").create(@' (new-object system.net.webclient).downloadfile('https://download.microsoft.com/download/6/A/C/6ACB37C4-E4C1-4E0E-BBAE-AC7A0C303593/SurfacePro4_Win10_15063_1701801_0.msi', 'c:\save.msi') '@) 
+0

這裏字符串不能在一行中,它在啓動後不能在第一行中有任何內容,並且最後一行不能被指定,應該是單獨的沒有任何東西在結束標記之前。 –

+0

我不知道。很高興知道。 –