2017-04-26 24 views
0

WMIとWin32_processを使用してリモートコンピュータ上でコマンドを実行するこのコマンドは、以下の例では7-df-1と呼ばれています。Powershell WMI Win32_processリモートコマンドの問題

引用符に問題があります。一重引用符と二重引用符を試しましたが、コマンドはまだ動作しません。サーフェスファームウェアインストーラをリモートコンピュータの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'コマンドレットを調べるべきでしょう。 – NullUserException

答えて

1

の作成()メソッドは文字列としてコマンドラインを受け付けますので、あなたは、単に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')}”) 

これは、プロセスを作成すると何かのように見えてWin32_Process here

0

不適切な回答コメントセクションを参照してください。

@ NullUserExceptionに同意しますが、Invoke-Commandはこれに使用するコマンドレットです。私はそれを試してみることをお勧めします。

私の環境ではコマンドをテストできませんが、リテラルコマンドを文字列としてリモートマシンに渡そうとしているようです。その場合、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

ここでは、文字列は1行にすることはできません。開始後に最初の行に何も含めることはできません。最後の行は単独でなければなりません終了タグの前に何もせずに。 –

+0

私はそれを知らなかった。知っておいてよかった。 –

関連する問題