かつてはこれが機能していると思っていましたが、最近、コマンドが機能しなくなりました。国内外の私の研究は、私がまだ試みたことのないものを明らかにしていません. おそらく、見ている他の変数が欠けているSETX
のでしょうか?
私のコマンド:
setx /s servername PATH "%Path%";"c:\program files (x86)\java\jre7\bin";"c:\program files (x86)\java\jre7\bin\client" /m
いくつかの Win2k8 サーバーに対して同じコマンドを試しましたが、役に立ちませんでした。これは機能しましたが、現在上記のエラーが発生しています。私は通常、バッチ ファイル内でこれを実行し、いくつかのサーバーのリストに対して Java をプッシュします。(リモート インストール時に手動でエントリを作成しない限り、Java へのパスは設定されません。)
path
更新しようとしているサーバー上の既存のものは次のとおりです。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%systemroot%\System32\WindowsPowerShell\v1.0\;C:\BMC\Patrol3\bin;C:\BMC\common\globalc\bin\Windows-x86;C:\BMC\common\globalc\bin\Windows-x86-64;C:\BMC\Patrol3\BEST1\9.5.00\bgs\bin
いくつかの重複したパス エントリをクリーンアップしました。それを除けば、私にとって異常なことは何も見つかりませんでした。
編集: 引用符の一部を削除するようにコマンドを微調整すると実行できますが、それにより、リモートシステムのパスを置き換えるローカルシステムのパスをインポートし、目的のパスエントリを追加します。
改訂されたコマンド:
setx /s servername PATH "%Path%;c:\program files (x86)\java\jre7\bin;c:\program files (x86)\java\jre7\bin\client" /m
この新しい問題を修正するために、psexec でコマンドを実行しようとしています。そうすることで、「デフォルトオプションは「2」回以上許可されていない」という元の問題に戻ります。psexec を使用するときに引用符をどのように変更するかによって、「To many Arguments」を取得するか、コマンドが成功し、パスが切り捨てられ、リモート サーバーに適用されるローカル パスが再び適用されます。
私の試みの中で最も有望なもの:
psexec \\servername -u domain\user -p p@ssw0rd "c:\windows\system32\setx" "Path "%Path%;c:\program files (x86)\java\jre7\bin;c:\program files (x86)\java\jre7\bin\client" /M"
psexec で「-s」オプションを使用すると、同じエラーが生成されますが、詳細が少なくなります。