WebDeploy (401) erreur non autorisée

Je reçois une erreur non autorisée de MsDeploy en utilisant l'authentification NTLM lorsque vous essayez de déployer à distance une application à l'aide d'un utilisateur windows qui n'est pas un administrateur local sur le serveur de destination. J'ai des règles de configuration dans la délégation du service de gestion sur la case destination avec tous les fournisseurs cochés. En vertu de cette règle, j'ai ajouté 2 utilisateurs avec les autorisations allow ( ' * ' , et mon utilisateur windows qui effectue le déploiement à distance). De plus, j'ai donné l'autorisation de l'utilisateur windows sur le site Je suis en train de déployer. Si je fais de l'utilisateur windows un administrateur local sur la zone de destination et que je définis "autoriser les administrateurs à contourner les règles" , le déploiement fonctionne correctement. Si l'utilisateur windows n'est pas un administrateur local, j'obtiens l'erreur suivante:

Échec de la tâche de déploiement Web.(Agent distant (URL http://xxxxxxxx/MSDEPLOYAGENTSERVICE ) n'a pas pu être contacté. Assurez-vous que le service agent distant est installé et démarré sur l'ordinateur cible.) Assurez-vous que le nom du site, nom d'utilisateur, et le mot de passe sont corrects. Si le problème n'est pas résolu, veuillez contacter votre administrateur local ou serveur. Détails de l'erreur: agent distant (URL http://xxxxx/MSDEPLOYAGENTSERVICE ) n'a pas pu être contacté. Assurez-vous que le service agent distant est installé et démarré sur l'ordinateur cible. Une réponse non étayée a été reçue. L'en-tête de réponse ' MSDeploy.La réponse 'était' V1 'mais' v1 ' était attendue. Le serveur distant a renvoyé une erreur: (401) non autorisé. dans Microsoft.Web.Publier.cibles (3588, 5)

27
demandé sur cfbarbero 2011-01-26 19:27:20

10 réponses

Si vous configurez la Délégation pour "autoriser les administrateurs à contourner les règles" et que la commande msdeploy réussit, vous passez par WMSvc et vous laissez passer. Sinon, à partir de la réponse, il semble que WMSvc vous rejette et que vous revenez à Web Deloy agent.

Définissez / ajoutez la valeur reg suivante à la clé reg WMSvc:

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

Recycler WMSvc:

net stop wmsvc & net start wmsvc

Essayez à nouveau. Si cela ne réussit pas, Pouvez-vous poster votre ligne de commande msdeploy.

49
répondu kateroh 2011-01-29 00:15:36

, Nous avons une machine que nous avons déployé dans le cadre de notre processus de fabrication. Sans raison évidente, les déploiements ont cessé de fonctionner et nous ne pouvions plus accéder à distance aux partages administratifs (C$, ADMIN$, etc.). Nous avons trouvé un correctif pour les partages administratifs qui ont également résolu les problèmes de déploiement.

Nous avons suivi l'étape de cet article de la base de connaissances pour réactiver les partages administratifs (toujours aucune idée de pourquoi ils se sont soudainement arrêtés travailler).

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

Après cela, msdeploy a soudainement recommencé à travailler. Je ne pensais pas que msdeploy utilisait des partages administratifs. Je ne suis même pas positif que les deux sont liés du tout, mais je pensais que je le jetterais là-bas au cas où cela résoudrait le problème de quelqu'un d'autre.

5
répondu Jon Turner 2011-07-28 21:15:40

J'ai finalement pu faire fonctionner ma Construction et mon déploiement automatisés en utilisant NTLM. Je voulais juste résumer ce qu'il fallait pour le faire fonctionner au cas où cela serait utile à quiconque. C'est avec IIS 7.5.

  1. Définissez le paramètre de registre et redémarrez Web Management Service (WMSVC):

    Reg ajouter HKLM \ Software \ Microsoft \ WebManagement \ Server / V WindowsAuthenticationEnabled / t REG_DWORD / d 1

  2. Donnez à l'utilisateur exécutant le service TFS build l'autorisation dans le site web répertoire.

  3. Voici les arguments MSBuild que j'ai utilisés. Remplacez les différents noms par vos noms. J'utilisais DEV et N'importe quel CPU. J'avais aussi besoin d'autoriser un certificat non approuvé.

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

  4. Dans IIS Manager avec le site Web de destination sélectionné, ouvrez les autorisations IIS Manager et autorisez l'utilisateur à exécuter la compilation TFS service.

Le traçage a été très utile pour diagnostiquer les problèmes. Vous pouvez activer le traçage dans la délégation du service de gestion dans IIS Manager. Initialement, Je ne pouvais pas voir la délégation de service de gestion dans IIS Manager. Pour arriver à montrer que j'ai dû "changer" le déploiement Web à partir D'ajouter des programmes afin que la délégation de service de gestion soit installée. Il semblait qu'il a été installé, mais j'ai réinitialisé la liste déroulante pour l'installer sur mon ordinateur et terminé l'installation. Ensuite, il est apparu dans IIS Manager.

4
répondu EricksonG 2014-11-19 23:47:52

Pas sûr de la cause exacte, mais peut être en mesure de vous aider à trouver votre chemin.

WebDeploy utilise deux points d'entrée basés sur la configuration du serveur distant, à savoir s'il exécute IIS6 ou IIS7.

IIS 7 utilise le gestionnaire de déploiement IIS , qui est géré par le service de gestion Web et permet à msdeploy de provisionner directement IIS. Tous les paramètres" délégation de service de gestion", etc se rapportent à cette configuration.

IIS 6, cependant, n'a pas le web service de gestion de sorte que le gestionnaire ne fonctionnera pas. Pour les cibles IIS6, un service appelé MS Deploy Agent Service est utilisé.

Ce qui est étrange, c'est que votre configuration suggère que vous utilisez IIS 7, car vous avez pu définir les paramètres de delgation, etc. Cependant, cette url," /MSDEPLOYAGENTSERVICE " suggère que votre machine tente d'utiliser le service ... presque comme si elle pensait son IIS 6. Le service nécessite un accès administrateur, c'est pourquoi vous obtenez cette erreur.

Basé sur le erreur il semble que vous invoquiez cela à partir de MSbuild, probablement directement à partir de Visual Studio. Vous pouvez regarder autour des paramètres qui vous sont donnés et voir si quelque chose est à l'origine de ce chemin et/ou de la sélection du serveur.

Assurez-vous également que le service de gestion Web s'exécute sur la machine distante.

Fondamentalement, vous voulez le voir faire des appels de déploiement vers une url différente, http: / / / msdeploy.axd (si je me souviens bien) pour appeler correctement le gestionnaire.

3
répondu Taylor Bird 2011-01-27 23:19:16

Il a mangé beaucoup trop d'heures de mon temps. J'avais déjà Web Deploy travaillant pour mes autres sites. J'ai décidé d'ajouter un nouveau site web à mon serveur et j'ai essayé de le déployer (mais j'ai accidentellement laissé le même nom "Site/application" en raison d'une erreur de copier/coller trop zélée). La publication a réussi, mais quand j'ai réalisé que j'avais publié sur le mauvais site (au lieu du nouveau site), j'ai changé le nom du site et essayé de redéployer mais j'ai continué à avoir cette erreur. J'ai tout essayé sur la fin IIS de choses. Enfin, je viens de fermer complètement mon instance Visual Studio 2010. L'a ouvert, a essayé de publier à nouveau et cela a fonctionné!

En cas de doute, demandez-vous, "Avez-vous essayé de l'éteindre et de le rallumer?"
Je me rends compte que ce conseil n'aidera pas tout le monde avec cette erreur ambiguë - juste quelques privilégiés.

2
répondu MikeTeeVee 2011-12-27 21:56:58

Si votre utilisateur est un administrateur, mais vous obtenez toujours

ERROR_USER_IS_NOT_ADMIN

Assurez-vous que vous utilisez le nom d'utilisateur complet.

MyMachineName\MyWebDeployUser

1
répondu Dann 2012-04-27 15:33:06

Je pense que votre problème est vraiment simple... J'ai eu le même problème que vous...

En fait, mon problème était que les Services réseau étaient le compte D'ouverture de session dans le Web Deploy Agent Service et que ce compte n'avait pas suffisamment d'autorisations pour modifier ou lire les fichiers IIS...

Pour résoudre votre problème, procédez comme suit:

Ouvrez les services Painel (services.msc)
Recherchez le service Web Deploy Agent et Double-cliquez pour ouvrir l'Agent de déploiement web Propriétés du Service... Dans L'onglet Connexion, changez le "connexion en tant que" en compte administrateur...

J'espère vous aider

0
répondu Ricardo Almeida 2013-03-28 20:32:29

Hier, j'ai pu déployer très bien, aujourd'hui avait exactement le même message d'erreur. Après une heure ou deux de dépannage, j'ai fini par supprimer le domaine de mon nom d'utilisateur. Où avant c'était [domaine]/[nom d'utilisateur], je l'ai changé pour juste [nom d'utilisateur], lo ' Et voici, il a commencé à fonctionner à nouveau. Je sais que ce n'est pas une bonne réponse, mais peut-être que cela aidera quelqu'un d'autre qui le traverse.

0
répondu Ken Johnson 2014-10-17 15:36:14

Web Deploy a cessé de fonctionner pour nous hier lors de l'utilisation de L'identité de L'utilisateur Windows actuel (il a fonctionné avec des informations d'identification explicites) après l'installation des correctifs pour MS15-025 et MS15-027 sur L'un de nos contrôleurs de domaine exécutant Windows Server 2003.

Nous avons vérifié toutes les recommandations pour le déploiement Web et n'avons pas pu résoudre L'erreur HTTP 401.2.

Maintenant, Microsoft a réédité les correctifs pour les deux bulletins spécifiquement pour Windows Server 2003 (KB3033395-v2 et KB3002657-v2). Après avoir installé les correctifs mis à jour et démarré le contrôleur de domaine, cela a fonctionné à nouveau immédiatement. Nous n'avons même pas eu à redémarrer un service sur le serveur Web.

Il N'y avait pas d'entrées de journal D'événements pointant vers cela, cela n'est devenu évident qu'à cause de la relation temporelle.

0
répondu realMarkusSchmidt 2015-03-17 00:36:47

Il y a une autre possibilité: votre compte a été verrouillé en raison de trop de tentatives infructueuses de déploiement avec Web deploy. Réinitialisez votre compte ou demandez à votre administrateur système de le faire pour vous. Très frustrant.

0
répondu saille 2017-11-02 03:21:33