15

MSDeploy をビルド プロセスに統合していますが、認証に問題があります。次のコマンドは正常に機能します。

msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=Administrator,password=secret -dest:package=c:\DeployTest\KPC.zip

ただし、これは機能しません。

msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=kpcpublish,password=secret -dest:package=c:\DeployTest\KPC.zip

エラーが発生します:

Error Code: ERROR_USER_NOT_ADMIN
More Information: Connected to '192.168.0.11' using the Web Deployment Agent Service, but could not authorize. Make sure you are an administ
rator on '192.168.0.11'.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN.
Error: The remote server returned an error: (401) Unauthorized.
Error count: 1.

上記のリンクの指示と、見つけた他のドキュメントに従いましたが、ほぼすべて同じことを言っています。

  1. kpcpublishというアカウントを作成しました
  2. このアカウントをMSDepSvcUsersというグループに追加しました。管理者にもアカウントを追加しました。
  3. サイトを右クリックして[Deploy] - > [Configure Web Deploy Publishing ] を選択し、リストに kpcpublish を追加しました。次のように述べています。

.

Publish enabled for 'SERVER\kpcpublish' Granted 'SERVER\kpcpublish'
full control on 'C:\Website' Successfully created settings file
'C:\Users\Administrator\Desktop\SERVER_kpcpublish_KitchenPC.PublishSettings'

欠けているステップがあるに違いありませんが、何ができるのかわかりません。

アップデート:

プロパティの完全な HTTP パスを使用するとcomputerName、次のエラーが表示されます。

エラー コード: ERROR_DESTINATION_NOT_REACHABLE 詳細情報: リモート コンピューター ("192.168.0.3") に接続できませんでした。リモート コンピューターで、Web Deploy がインストールされ、必要なプロセス ("Web 管理サービス") が開始されていることを確認します。詳細については、http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_DES TINATION_NOT_REACHABLE をご覧ください。エラー: リモート サーバーに接続できません エラー: 接続先が一定時間後に適切に応答しなかったため、接続試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました 192.168.0.3:8192 エラー数: 1 .

確認したところ、Web 管理サービスは実際に実行されています。

別の更新:

システムを完全に舗装し、最初から再セットアップしました。IIS の役割をインストールし、WMSVC の実行に必要な [管理ツール] の下の [管理サービス] を確認しただけです。次に、Web PI をインストールし、「ホスティング プロバイダーの推奨構成」をインストールしました。これにより、Web Deploy 3.0 がインストールされます。ただし、これをインストール中にエラーが発生したことに気付きました (前回もこのエラーが発生したと思います)。次のようになります。

ここに画像の説明を入力

ログファイルもここに添付しました。

次に、Web Deploy 3.0 を手動でインストールしようとしましたが、既にインストールされていると表示されます。次に、MSI をhttp://www.iis.net/download/webdeployから直接ダウンロードし、「修復」モードで実行しました。それはうまくいったようです。また、WMSVC サービスが稼働していることにも気付きました。だからこれはよさそうだ。

それでも、MSDeploy は接続しません。ある種のファイアウォールの問題かもしれないと思ったので、ローカルで実行しました。HTTPS と HTTP の両方を使用して接続しようとしました。HTTPS でエラーが発生します。HTTP は 2 ~ 3 分後にタイムアウトします。

HTTPS:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=https://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip
Info: Using ID 'f3a54096-adc4-4f54-9e4f-ad8fde12edb6' for connections to the remote server.
Error Code: ERROR_CERTIFICATE_VALIDATION_FAILED
More Information: Connected to the remote computer ("staging") using the specified process ("Web Management Service"), but could not verify the server's certifi
cate. If you trust the server, connect again and allow untrusted certificates.
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED.
Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Error: The remote certificate is invalid according to the validation procedure.
Error count: 1.

HTTP:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=http://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip
Info: Using ID 'ebee66f0-08e5-4d9d-98ea-0c2e59784895' for connections to the remote server.
Error: Could not complete the request to remote agent URL 'http://staging:8172/msdeploy.axd'.
Error: The operation has timed out
Error count: 1.
4

6 に答える 6

18

( 2016 年 3 月 7日更新- 注: 管理者以外の展開でも?site=IIS_SITE_NAMEafterが必要ですmsdeploy.axd。それ以外の場合、接続はグローバルとして扱われ、管理者アクセスが必要です)

これを最初に見逃した方法はわかりませんが、問題はcomputerNameパラメーターです。管理者以外の展開は、完全な URL を指定する必要がある WMSVC を使用する場合にのみサポートされます。

以下を試してください

msdeploy -verb:sync ^
  -source:appHostConfig="KitchenPC",computerName=https://192.168.0.3:8172/MsDeploy.axd,userName=kpcpublish,password=secret,authType=Basic ^ 
  -dest:package=c:\DeployTest\KPC.zip 

ドキュメントから

コンピューター名は、既定の Web 配置 URL に変換されます。たとえば、computerName=Server1http://Server1/MsDeployAgentServiceになります。リモート サービスがカスタム ポートまたは URL で実行されている場合は、完全な URL を指定する必要があります。

そして、インストール手順から

Web 管理サービスがインストールされていない場合、MSI は Web 管理サービス ハンドラー コンポーネントをインストールしません。ハンドラー コンポーネントは、管理者以外の展開に必要です。

(WMSVC を管理者以外の展開の要件として説明している、より明確な正規のソースを見つけることができませんでした)

于 2012-10-20T03:42:25.410 に答える
17

理解した!

そのため、(少なくともデフォルトでは) WMSVC は HTTPS のみをリッスンし、HTTP はタイムアウトになるようです。ただし、私の証明書は自己署名されているため、-allowUntrustedコマンド ライン オプションを使用する必要がありました。

それはほとんど十分でした。また、リチャードが最初に提案したように、 authType=Basicを指定する必要がありました。したがって、すべてをまとめると、これは実際に機能する MSDeploy コマンド ラインです。

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=https://192.168.0.3:8172/msdeploy.axd,authType=Basic,userName=Publish,password=secret -dest:package=c:\DeployTest\KPC.zip -allowUntrusted
于 2012-10-20T19:15:56.053 に答える
1

ターゲット マシンで wmsvc サービスを再起動してみてください

于 2014-10-24T10:16:55.117 に答える
0

上記のように、HTTPS 経由で接続していることを確認してください。SSL を使用せずに管理者として接続しようとすると、次のエラーが発生します。

エラー コード: ERROR_USER_NOT_ADMIN

詳細情報: Web 配置エージェント サービスを使用して「ホスト」に接続しましたが、認証できませんでした。「ホスト」の管理者であることを確認してください。

(「ホスト」はサーバー名です)

于 2015-07-13T17:45:15.197 に答える