3

何が悪いのかわかりません。コマンドプロンプトでこのコマンドを実行すると

dir /S/B | findstr "test" > \\server-name\c$\results.txt

それは正常に動作します。しかし、リモートコンピューターでpowershellを介して実行しようとすると

$result = ([WmiClass]"\\$s\ROOT\CIMV2:Win32_Process").create("cmd /c dir /S/B | findstr ""test"" > \\server-name\c$\results.txt")

私も試してみました

$result = ([WmiClass]"\\$s\ROOT\CIMV2:Win32_Process").create("cmd /c dir /S/B | findstr ""test"" > \\192.168.1.100\c$\results.txt")

そして、ログフォルダーを作成して、それを全員が完全に制御できるように共有しようとしました

$result = ([WmiClass]"\\$s\ROOT\CIMV2:Win32_Process").create("cmd /c dir /S/B | findstr ""test"" > \\192.168.1.100\log\results.txt")

これはどれも機能していないようですが、ローカルパスに変更すると機能します

$result = ([WmiClass]"\\$s\ROOT\CIMV2:Win32_Process").create("cmd /c dir /S/B | findstr ""test"" > C:\results.txt")

助けてください、ありがとう。

4

3 に答える 3

0

Powershellでは、「」の間に使用する場合は、バックティック「」を使用して「-文字」をエスケープする必要があります。

次のコマンドが私のシステムで機能しました。

([WmiClass]"\\$s\ROOT\CIMV2:Win32_Process").create("cmd /c dir /S/B | findstr `"test`" > \\192.168.1.100\c$\results.txt")
于 2011-11-15T09:53:27.670 に答える
0

コマンドが終了したら、ファイルをコンピューターからサーバーに移動するだけです。

    if(Test-path \\computer\c$\results.txt){
move-item -path \\computer\c$\results.txt \\server-name\c$ -force | out-host
}
于 2011-11-15T13:21:33.453 に答える
0

マシンで Psremoting を有効にしてから、Invoke-Commandコマンドレットを使用してリモート コマンドを実行できます。それがよりPOSHなやり方だと思います。

グループ ポリシーを使用して、ドメイン内の多くのマシンで有効にすることもできます: http://blog.powershell.no/2010/03/04/enable-and-configure-windows-powershell-remoting-using-group-policy /

于 2011-11-14T19:12:18.703 に答える