2011-01-26 25 views
27

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

Web deployment task failed.(Remote agent (URL http://xxxxxxxx/MSDEPLOYAGENTSERVICE) could not be contacted. Make sure the remote agent service is installed and started on the target computer.) Make sure the site name, user name, and password are correct. If the issue is not resolved, please contact your local or server administrator. Error details: Remote agent (URL http://xxxxx/MSDEPLOYAGENTSERVICE) could not be contacted. Make sure the remote agent service is installed and started on the target computer. An unsupported response was received. The response header 'MSDeploy.Response' was 'V1' but 'v1' was expected. The remote server returned an error: (401) Unauthorized. in Microsoft.Web.Publishing.targets(3588, 5)

+0

ここでまったく同じ問題 –

+7

他人に注意:エラーメッセージに 'v1'エラーが含まれていない場合は、別の原因です。私の場合は、UAC関連のものでしたが、ここで説明し、修正しました。http://networkprogramming.wordpress.com/2010/10/29/401-not-authorized-for-msdeploy%E2%80%8F- msdeployagentservice/ –

+0

管理共有を修正するレジストリハックでもこれが修正され、UACトークンの問題のようです。このMS修正プログラムを使用します。 https://support.microsoft.com/en-gb/kb/947232 –

答えて

48

"管理者がルールをバイパスできるようにする"ように委任を構成し、msdeployコマンドが成功した場合、WMSvcを経由しているため、処理が完了します。さもなければ、応答から、WMSvcがあなたを拒否しているように見えて、あなたはWeb Deloyエージェントに落ちています。

セット/ WMSVCに次のREG値を追加しますが、キーをreg:

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

リサイクルWMSVC:

net stop wmsvc & net start wmsvc

もう一度試してください。成功しない場合は、msdeployコマンドラインを投稿できます。

+1

このレジストリ設定を追加すると、問題が修正されたようです。この設定が何であるかについて少し説明したり、MSDNを教えてください。 – cfbarbero

+9

このオプションはUIから設定することもできます。 InetMgr.exeの 「管理サービス」に行き、「Windows資格情報」をチェックすると、そのレジストリ値は1に設定され、RequiresWindowsCredentialsは0に設定されます。「Windows資格情報またはIIS Managert資格情報」にチェックを入れると、両方の値が1に設定されます。 – kateroh

+1

基本的に、Web配置でWeb管理サービス(WmSvc)を実行する前に、サーバー上で正しく構成されていることを確認する必要があります。これを行うには、UIを使用することが最善の方法です。 – kateroh

3

わからない、しかし屋はあなたの方法を見つけることができるかもしれ:Windowsユーザがローカル管理者でない場合は、私は次のエラーを取得します。

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

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

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

あなたのセットアップでは、隔離設定などを設定できるように、IIS 7を使用していることが示唆されていますが、 "/ MSDEPLOYAGENTSERVICE"というURLは、マシンがサービスを使用しようとしていることを示しています...ほぼIIS 6と同じように扱われます。サービスには管理者アクセスが必要です。そのため、そのエラーが発生しています。

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

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

基本的には、ハンドラを適切に呼び出すために別のURL http:// <> /msdeploy.axd(私が正しく覚えていれば)へのデプロイ呼び出しを見たいと思っています。

5

ビルドプロセスの一部として展開しているマシンがあります。明白な理由がないので、配備が中止され、管理上のシェア(C $、ADMIN $など)にリモートからアクセスできなくなりました。私たちは配備の問題を修正した管理共有の修正を発見しました。

このKBの記事の手順に従って、管理共有を再度有効にしました(ただし、突然停止した理由はまだ分かりません)。

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

私たちは、突然の場合msdeployすべてが同様に再び仕事を始め、ことをやった後。私はmsdeployが管理上の共有を全く使わなかったと思った。私は2人とも全く関係がないとは思っていませんが、他の人の問題を解決するために、私はそこに投げ捨てると思っていました。

+1

tempAgent(「Webデプロイオンデマンド」)機能を使用する場合、MSDeployは管理共有を使用します。http://technet.microsoft.com/en-us/library/ee517345(v=ws.10).aspx –

2

これは私の時間が長すぎます。私はすでに他のサイトでWeb Deployを使用していました。私は自分のサーバーに新しいWebサイトを追加することにしましたが、それに展開しようとしました(しかし、過度のコピー/貼り付けエラーのために誤って同じ "サイト/アプリケーション"パブリッシュは成功しましたが、間違ったサイト(新しいサイトではなく)に公開したことがわかったときに、サイト名を変更して再デプロイを試みましたが、このエラーが発生しました。私は物事のIISの終わりにすべてを試してみました。最後に、Visual Studio 2010インスタンスを完全にシャットダウンします。それを開いて、もう一度パブリッシュしてみました。

疑問がある場合は、「それをオフにして再度オンにしましたか?
私はこのアドバイスがこのあいまいなエラーで誰も助けてくれないことを認識しています。

0

ユーザーが管理者ですが、あなたはまだ

ERROR_USER_IS_NOT_ADMIN

は、あなたが完全修飾ユーザー名を使用していることを確認して取得する場合。

私はあなたの問題は本当にシンプルだと思う

MyMachineName\MyWebDeployUser

0

...私は実際にあなた...

同じ問題を抱えていた私の問題は、ネットワークサービスがWeb配置エージェントでのログオンアカウントだったということでしたサービスそれアカウントがあなたの問題を解決するためにIISファイルを変更したり、読み取るための十分な権限...

だけで次の手順を実行していない。

オープンサービスPainel(services.mscと)
は変更[ログオン]タブでは... をWeb配置エージェントサービスプロパティを開くためにWeb配置エージェントサービスと をダブルクリックして下さい...管理者アカウントに「としてログオン」

私はあなたを助けることを願っています

0

昨日、私はうまく展開できました。今日はまったく同じエラーメッセージがありました。トラブルシューティングの1〜2時間後、ユーザー名からドメインを削除しました。以前は[domain]/[username]だったところで[username]に変更して、もう一度作業を始めました。私はこれが素晴らしい答えではないことを知っていますが、おそらくそれはそれを横切って走る他の誰かを助けるでしょう。

4

私は最終的にNTLMを使用して自動ビルドと展開を実行することができました。私はちょうどそれが誰にも役立つ場合に行くために必要なものを要約したいと思った。これはIIS 7.5にあります。

REG

  • 1 WindowsAuthenticationEnabled /トンREG_DWORD/dのHKLM \ SOFTWARE \マイクロソフト\ WebManagement \サーバー/ Vを追加与える:レジストリ設定を設定し、Web管理サービス(WMSVC)を再起動

    1. WebサイトディレクトリにTFSビルドサービスのアクセス許可を実行しているユーザー。

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

      /M/P:PublishProfile = DEV/P:設定= DEV/P:プラットフォーム= "任意のCPU"/P:DeployOnBuild = TRUE/P:AllowUntrustedCertificate = TRUE/P:認証タイプ= NTLM

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

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

    0

    Web配置は、現在のWindowsユーザーのIDを(それが明示的な資格情報で働いていた)を使用した場合のWindows Serverを実行している私たちのドメインコントローラの1にMS15-025MS15-027用のパッチをインストールした後、昨日、私たちのために動作を停止し、2003年

    Web Deployのすべての推奨事項を確認し、HTTP 401.2エラーを解決できませんでした。

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

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

    0

    他の可能性があります:ウェブデプロイで展開しようとする試みが失敗したためにアカウントがロックアウトされています。アカウントをリセットするか、システム管理者に依頼してください。非常にイライラ。

    関連する問題