web-dev-qa-db-ja.com

psexecで複数のコマンドを実行する方法は?

一部のワークステーションで最前線をアンインストールするコマンドを実行する必要があり、コマンドのフォーマットに少し問題があります。

これは(複数のコマンドで)発生する必要があることです

xcopy \\serverpath\Installer.exe C:\Windows Install.exe /u /s Del C:\Windows\Install.exe

コンピューターリストでpsexecを使用していますが、エラーが発生し続けます。これが現在の私のコマンドの外観です。

psexec @ComputerList.txt -u domain\administrator cmd /c (xcopy "\\NetworkPath\Forefront Software\Install.exe" "C:\Windows" && Install.exe /u /s && del C:\Windows\Install.exe)

パス名と引用符のスペースが混乱していると思います...

編集:

運が悪いスクリプトでそれを実行しようとしました。 scepinstall.exeがリモートマシンでハングするようです。 C:\Windows\ccmsetup\にあるexeも使用してみました

助けてくれてありがとう

2
seffland

これらの括弧は有効ではないと思います。 /scmd.exeスイッチは、最初と最後の"の間のすべてを保持する必要があると思います。これは機能しますか?

psexec @ComputerList.txt -u domain\administrator cmd /s /c "xcopy "\\NetworkPath\Forefront Software\Install.exe" "C:\Windows" && Install.exe /u /s && del C:\Windows\Install.exe"

私は次の簡略化されたコマンドでテストし、それが機能しました(出力を表示できるように/kに変更しました)。

psexec \\remotemachine cmd /s /k "dir "c:\temp" && echo "hello""
5
pk.

とった。インストーラーは、スクリプトにパスがハードコードされていることを好みませんでした。

から変更

C:\ccmsetup\scepinstall.exe /u /s

%windir%\ccmsetup\scepinstall.exe /u /s
0
seffland