29

移行先サーバーのローカル管理者ではないWindowsユーザーを使用してアプリケーションをリモートで展開しようとすると、NTLM認証を使用するMsDeployから不正なエラーが発生します。すべてのプロバイダーがチェックされた状態で、宛先ボックスの管理サービス委任にセットアップルールがあります。このルールの下で、許可権限を持つ2人のユーザーを追加しました(「*」と、リモート展開を実行しているWindowsユーザー)。さらに、展開しようとしているサイトでWindowsユーザー権限を付与しました。Windowsユーザーを宛先ボックスのローカル管理者にし、[管理者にルールのバイパスを許可する]を設定すると、展開は正しく機能します。Windowsユーザーがローカル管理者でない場合、次のエラーが発生します。

Web展開タスクが失敗しました。(リモートエージェント(URL http:// xxxxxxxx / MSDEPLOYAGENTSERVICE)に接続できませんでした。リモートエージェントサービスがターゲットコンピューターにインストールされ、開始されていることを確認してください。)サイト名、ユーザー名、およびパスワードを確認してください。は正しい。問題が解決しない場合は、ローカルまたはサーバーの管理者に連絡してください。エラーの詳細:リモートエージェント(URL http:// xxxxx / MSDEPLOYAGENTSERVICE)に接続できませんでした。リモートエージェントサービスがターゲットコンピューターにインストールされ、開始されていることを確認してください。サポートされていない応答を受信しました。応答ヘッダー「MSDeploy.Response」は「V1」でしたが、「v1」が予期されていました。リモートサーバーがエラーを返しました:(401)許可されていません。Microsoft.Web.Publishing.targets(3588、5)で

4

10 に答える 10

53

「管理者にルールのバイパスを許可する」ように委任を構成し、msdeployコマンドが成功した場合、WMSvcを実行しているので、通過できます。それ以外の場合、応答から、WMSvcがあなたを拒否し、WebDeloyエージェントにフォールバックしているようです。

次のreg値をWMSvcregキーに設定/追加します。

reg add HKLM\Software\Microsoft\WebManagement\Server /v WindowsAuthenticationEnabled /t REG_DWORD /d 1

WMSvcをリサイクルします。

net stop wmsvc & net start wmsvc

再試行。成功しない場合は、msdeployコマンドラインを投稿できますか。

于 2011-01-29T00:15:36.703 に答える
5

ビルドプロセスの一部としてデプロイしているマシンがあります。明らかな理由もなく、デプロイが機能しなくなり、管理共有(C $、ADMIN $など)にリモートアクセスできなくなりました。管理共有の修正が見つかり、展開の問題も修正されました。

このKB記事の手順に従って、管理共有を再度有効にしました(管理共有が突然機能しなくなった理由はまだわかりません)。

http://support.microsoft.com/kb/947232

それを行った後、msdeployも突然動作を開始しました。msdeployが管理共有を使用しているとはまったく思いませんでした。私はこの2つがまったく関係しているとは思っていませんが、他の人の問題が解決する場合に備えて、そこに捨てると思いました。

于 2011-07-28T21:15:40.223 に答える
4

最終的に、NTLMを使用して自動ビルドとデプロイを実行できるようになりました。誰かに役立つ場合に備えて、それを実行するために必要なことを要約したかっただけです。これはIIS7.5の場合です。

  1. レジストリ設定を設定し、Web管理サービス(WMSVC)を再起動します。

    reg add HKLM \ Software \ Microsoft \ WebManagement \ Server / v WindowsAuthenticationEnabled / t REG_DWORD / d 1

  2. WebサイトディレクトリでTFSビルドサービスを実行しているユーザーに権限を付与します。

  3. これが私が使用したMSBuild引数です。さまざまな名前を自分の名前に置き換えます。私はDEVとAnyCPUを使用していました。また、信頼できない証明書を許可する必要がありました。

    / m / p:PublishProfile = DEV / p:Configuration = DEV / p:Platform = "Any CPU" / p:DeployOnBuild = true / p:AllowUntrustedCertificate = true / p:authType = NTLM

  4. 宛先Webサイトが選択されているIISマネージャーで、IISマネージャーのアクセス許可を開き、TFSビルドサービスを実行しているユーザーを許可します。

トレースは、問題の診断に非常に役立ちました。IISマネージャーの[管理サービスの委任]でトレースをオンにできます。最初は、IISマネージャーで管理サービスの委任を確認できませんでした。表示するには、[プログラムの追加]から[Web配置]を「変更」して、管理サービスの委任がインストールされるようにする必要がありました。インストールされているように見えましたが、ドロップダウンをリセットしてコンピューターにインストールし、インストールを完了しました。その後、IISマネージャーに表示されました。

于 2014-11-19T23:47:52.957 に答える
3

正確な原因はわかりませんが、道を見つけるのに役立つかもしれません。

WebDeployは、リモートサーバーの構成、つまり、IIS6またはIIS7を実行しているかどうかに基づいて2つのエントリポイントを使用します。

IIS 7は、Web管理サービスによって管理されるIIS展開ハンドラーを使用し、msdeployがIISを直接プロビジョニングできるようにします。すべての「管理サービスの委任」などの設定は、この設定に関連しています。

ただし、IIS 6にはWeb管理サービスがないため、ハンドラーは機能しません。IIS6ターゲットの場合、MS DeployAgentServiceと呼ばれるサービスが使用されます。

奇妙なことに、設定では、委任設定などを設定できたため、IIS 7を使用していることが示されます。ただし、そのURL "/ MSDEPLOYAGENTSERVICE"は、マシンがサービスを使用しようとしていることを示しています... IIS 6と考えています。サービスには管理者アクセスが必要です。そのため、このエラーが発生します。

エラーに基づくと、MSbuildから、おそらくVisualStudioから直接これを呼び出しているようです。与えられた設定を調べて、そこに何かがこのパスやサーバーの選択を引き起こしていないかどうかを確認することをお勧めします。

また、Web管理サービスがリモートマシンで実行されていることを確認してください。

基本的には、ハンドラーを適切に呼び出すために、別のURL(http:// <> / msdeploy.axd(私が正しく覚えている場合))に対してデプロイ呼び出しを行うことを確認したいと考えています。

于 2011-01-27T23:19:16.947 に答える
2

これは私の時間のあまりにも多くの時間を食べました。私はすでに他のサイトでWebDeployを機能させていました。サーバーに新しいWebサイトを追加することにし、そのWebサイトに展開しようとしました(ただし、過度のコピー/貼り付けエラーのため、誤って同じ「サイト/アプリケーション」名を残しました)。公開は成功しましたが、(新しいサイトではなく)間違ったサイトに公開したことに気付いたとき、サイト名を変更して再デプロイしようとしましたが、このエラーが発生し続けました。私はIISの最後ですべてを試しました。最後に、VisualStudio2010インスタンスを完全にシャットダウンしました。それを開いてバックアップし、公開を再試行して、うまくいきました!

疑問がある場合は、「オフにしてからもう一度オンにしてみましたか?」と自問してください。
このアドバイスは、このあいまいなエラーですべての人を助けるわけではないことを理解しています。

于 2011-12-27T21:56:58.837 に答える
1

ユーザーが管理者であるが、それでも

ERROR_USER_IS_NOT_ADMIN

完全修飾ユーザー名を使用していることを確認してください。

MyMachineName \ MyWebDeployUser

于 2012-04-27T15:33:06.650 に答える
1

昨日は問題なくデプロイできましたが、今日はまったく同じエラーメッセージが表示されました。1、2時間のトラブルシューティングの後、ユーザー名からドメインを削除することになりました。以前はDOMAIN\usernameでしたが、[username]、lo'に変更したところ、見よ、再び機能し始めました。私はこれが素晴らしい答えではないことを知っています、しかし多分それはそれに出くわす他の誰かを助けるでしょう。

于 2014-10-17T15:36:14.770 に答える
0

私の問題は、ネットワークサービスがWeb配置エージェントサービスのログオンアカウントであり、そのアカウントにIISファイルを変更または読み取るための十分なアクセス許可がないことでした...

問題を解決するには、次の手順を実行します。

サービスパネル(services.msc)を開きます。Web配置エージェントサービス
を見つけ、ダブルクリックしてWeb配置エージェントサービスのプロパティを開きます... [ログオン]タブで、[ログオン]を管理者アカウントに変更します。

于 2013-03-28T20:32:29.667 に答える
0

Windows Server 2003を実行しているドメインコントローラーの1つにMS15-025およびMS15-027のパッチをインストールした後、現在のWindowsユーザーのIDを使用すると(明示的な資格情報で機能しました)、 WebDeployは昨日機能しなくなりました。

Web配置に関するすべての推奨事項を確認しましたが、HTTP401.2エラーを解決できませんでした。

今回、Microsoftは、Windows Server 2003専用の両方のセキュリティ情報(KB3033395-v2およびKB3002657-v2)のパッチを再発行しました。更新されたパッチをインストールしてドメインコントローラーを起動すると、すぐに再び機能しました。Webサーバー上のサービスを再起動する必要さえありませんでした。

これを示すイベントログエントリはありませんでした。時間的な関係があるために明らかになりました。

于 2015-03-17T00:36:47.353 に答える
0

別の可能性があります。Webデプロイでのデプロイに失敗した回数が多すぎるため、アカウントがロックアウトされています。アカウントをリセットするか、システム管理者にリセットしてもらいます。とてもイライラします。

于 2017-11-02T03:21:33.870 に答える