MsDeploy runCommandプロバイダを使用して、自動展開中にWindowsサービスをアンインストールして再インストールしようとしています。MsDeploy runCommandに必要な権限が昇格されましたか?
これまでのところ、私はthis questionとthis blog postのアドバイスに従うと多少成功しました。
実際のインストール/アンインストール操作を実行するには、リモートホスト上でバッチファイルを呼び出しています。バッチファイルは、ホストに直接ログインし、シェルから「管理者として実行」オプションを使用すると、正常に動作します。バッチファイルをダブルクリックするだけで(またはMsDeploy runCommandプロバイダでバッチファイルを実行するとき)、バッチファイルにはインストールまたはアンインストール操作を実行するための十分な権限がありません。すべての場合、私はバッチファイルをホスト上のローカル管理者であるユーザーアカウントで実行しています。
runCommandが管理サービス委任ツールを使用して管理者アカウントを使用していることを確認し、管理サービスを再起動しました。
私の質問は知っている:
1)私はrunCommandプロバイダーとの「管理者として実行」をエミュレートできますか?
2)バッチファイルの代わりにPowershellスクリプトを使用しても、これはまだ問題になりますか?
3)ここに欠けているものがありますか?
リモートホストでこの操作を実行するための実際のソフトウェアを書く必要はありません。
アドバイスをいただければ幸いです。
上記の質問2に関するいくつかのフォローアップ:PowershellでInvoke-Commandを使用すると、管理者権限でバッチファイルが実行されます。 –