【Web Deploy】リモート コンピューターでの要求の処理中にエラーが発生しました。【一発解決】
久しぶりにWeb Deployを使ってWebサイトのデザインを更新しようと思ったら下記のエラーがでました。
Web Deploy タスクに失敗しました。((2019/03/24 13:37:22) リモート コンピューターでの要求の処理中にエラーが発生しました。) (2019/03/24 13:37:22) リモート コンピューターでの要求の処理中にエラーが発生しました。 操作を実行できません。サーバー管理者に問い合わせて承認と委任の設定を確認してください。
サーバのイベントビューアーでエラーログを確認できました。
ユーザー 'WDeployConfigWriter' にログオンできません。
原因
サイト制作時にWebDeployの設定を終えるとWDeployAdminとWDeployConfigWriterの2つのアカウントが自動で作られ、IISがこれを使ってWeb Deployを行います。これらのアカウントは初期設定でパスワードの有効期限が過ぎると上記のエラーが出るようです。そもそもこのWDeployAdminとWDeployConfigWriterのお二方、完全にノータッチなのにある一定の期間が過ぎると使用不能になるとは不親切極まりない。まあセキュリティーの為なので目をつぶるとして、解決方法を見ていきましょう。
解決方法
まずはサーバーにあるWDeployAdminとWDeployConfigWriterのアカウントにパスワードを設定します。コントロールパネル / 管理ツール / コンピュータの管理 の順でコンピュータ管理を開きます。
システムツール / ローカルユーザーとグループ / ユーザー を開きます。 WDeployAdminとWDeployConfigWriterの項目に右クリックでパスワードの設定をします。途中でメッセージが出ますが気にせず設定します。このパスワードは後で使うのでメモしておいてください。
2つのアカウントのパスワードの設定が終わりましたら、上で右クリックした項目に今度はダブルクリックをします。ここではWDeployConfigWriterをダブルクリックしました。 パスワードを無期限にするにチェックを入れます。これと同様にWDeployAdminもパスワードを無期限にするにチェックを入れるとこの先、このエラーにさいなまれることはなくなりそうです。
IISで管理サービスの委任を設定
IISマネージャーの下にある管理サービスの委任を開きます。 recycleAppをダブルクリックで規則の編集を開き、下部にある設定を押します。この時左に出ているWDeployAdminの文字をドラッグでコピーしておくと入力の手間が省けます。 ユーザー名にWDeployAdminを入力またはペーストし、パスワードは上記で設定したパスワードを入力してOKボタンを押します。 お次はcreateAppをダブルクリックで規則の編集を開き、先ほどと同様に設定ボタンを押します。 ユーザー名にWDeployConfigWriterと入力またはペーストしてパスワードは上記で設定したものを入力して完了です。試しにVisual StudioでWebDeployのプレビューをやってみると問題なくできるようになったと思います。
ひとまずWebで発行することが可能となりました。良かった!