リモートコンピュータで(一部のソフトウェアをインストールするために)バッチファイルを実行しようとしています。これを行うには、PSExecを使用しています。
psexec.exe \\ COMPUTER C:\ swsetup\install.bat
これは正常に機能しますが、一部のインストールはスクリプトが管理者として実行されていないために失敗します(ログオンした場合、右クリックして[管理者として実行]を選択します)スクリプトは正常に実行およびインストールされます。
/ runasコマンドで管理者として実行しようとしましたが、うまくいきませんでした
psexec.exe \\ computer cmd
その後
runas/user:computer\administrator C:\ swsetup\install.bat
システムが「アカウントのパスワードを入力してください」とフリックしてから、パスワードを入力せずにcmdプロンプトに戻ります。同じ問題が発生します。
runas /user:[email protected] C:\ swsetup\install.bat
これを回避する方法はありますか、またはマシンにアクセスしてログオンし、各マシンでスクリプトを実行する必要がありますか?
必要に応じて最高の特権で必要なバッチファイルを実行するリモートコンピューターでタスクスケジュールを作成します。 schtasks/Create /?を使用して、リモートコンピューターに新しいタスクを追加できる場合があります。 (検索してリモートコンピュータにタスクスケジュールを追加)
タスクを実行するショートカットを作成します
psexec.exeでショートカットを実行する
選択したプログラムを管理者として実行しているときに、この方法を使用してUACをバイパスします。新しいタスクスケジューラフォルダー「bypass UAC」を作成し、その中に新しいタスク「installer」を作成しました。
[全般]タブ:[最高の権限で実行]をオンにします。
[アクション]タブ:プログラムを開始するyourbatchfile
[条件]タブ:スリープ解除タイマーを有効にしていて、コンピューターをスリープ解除してタスクを実行する場合は、電源制限をオフにし、[コンピューターのスリープ解除]をオンにします。
設定タブ:「コマンドでタスクの実行を許可する」にチェックを入れます
ショートカットの使用パターン:C:\ Windows\System32\schtasks.exe/RUN/TN "foldername\taskname"
したがって、たとえば「バイパスUAC\installer」
手順がわかりにくい場合は、「タスクスケジューラでUACをバイパスする」を検索してください
バッチを実行しているアカウント名でPSExecパスワードスイッチを追加してみましたか?
-p Specifies optional password for user name. If you omit this
you will be prompted to enter a hidden password.