Domanda

Ricevo un errore non autorizzato MSDeploy utilizzando l'autenticazione NTLM quando si cerca di installare remotamente un'applicazione utilizzando un utente di Windows che non è un amministratore locale sul server di destinazione. Ho regole di configurazione dalla Service Management Delega sulla scatola di destinazione con tutti i fornitori controllato. Secondo questa regola ho aggiunto 2 utenti con le autorizzazioni Consenti ( '*', e il mio utente di Windows che sta facendo il deploy a distanza). Inoltre, ho dato il permesso finestre utente sul sito che sto cercando di implementare. Se faccio l'utente di Windows un amministratore locale sulla scatola di destinazione e set di 'consentire agli amministratori di regole di bypass', il deploy funziona correttamente. Se l'utente di Windows non è un amministratore locale ricevo il seguente errore:

un'attività di distribuzione Web non è riuscita (Remote Agent (URL http:.. // xxxxxxxx / MSDEPLOYAGENTSERVICE ) non poteva essere contattato Marchio che il servizio agente remoto è installato e avviato sul computer di destinazione.) assicurarsi che il nome del sito, nome utente e password siano corretti. Se il problema non viene risolto, contattare l'amministratore locale o del server. Dettagli errore: Remote Agent (URL http: // xxxxx / MSDEPLOYAGENTSERVICE ) non poteva essere contattato. Assicurarsi che il servizio agente remoto viene installato e avviato sul computer di destinazione. Una risposta non supportata è stata ricevuta. L'intestazione di risposta 'MSDeploy.Response' era stato previsto 'V1' ma 'v1'. Il server remoto ha restituito un errore: (401) non autorizzato. in Microsoft.Web.Publishing.targets (3588, 5)

È stato utile?

Soluzione

Se si configura la delega per "consentire agli amministratori di regole di bypass" e comando msdeploy riesce, allora si passa attraverso WMSvc e si sta lasciando attraverso. In caso contrario, dalla risposta sembra che WMSvc sta rifiutando voi e state cadendo di nuovo al Web Agent Deloy.

Set / aggiungere il seguente valore reg a chiave WMSvc reg:

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

Recycle WMSvc:

net stop wmsvc & net start wmsvc

Prova di nuovo. Se non riesce, puoi pubblicare il tuo linea di comando msdeploy.

Altri suggerimenti

Abbiamo una macchina che siamo stati schierando a come parte del nostro processo di generazione. Per nessun motivo apparente, implementa smesso di funzionare e abbiamo potuto accedere più remoto qualsiasi delle condivisioni amministrative (C $, Admin $, ecc). Abbiamo trovato una correzione per le condivisioni amministrative che ha fissato anche i problemi di distribuzione.

Abbiamo seguito il passo in questo articolo KB per riattivare le condivisioni amministrative (ancora idea del perché improvvisamente smesso di funzionare).

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

Dopo che abbiamo fatto che, MSDeploy tutto ad un tratto ha iniziato a lavorare di nuovo pure. Non pensavo che msdeploy utilizzato condivisioni amministrative a tutti. Non sono neanche positivo due sono legati a tutti, ma ho pensato di buttare là fuori nel caso in cui si risolve chiunque altro problema.

sono stato finalmente in grado di ottenere la mia generazione automatica e distribuire in esecuzione tramite NTLM. Volevo solo riassumere quello che ci voleva per farlo andare nel caso in cui è utile a nessuno. Questo è con IIS 7.5.

  1. Imposta l'impostazione del Registro di sistema e riavviare il servizio di gestione Web (WMSVC):

    reg aggiungere HKLM \ Software \ Microsoft \ webmanagement \ Server / v WindowsAuthenticationEnabled / t REG_DWORD / d 1

  2. Dare l'utente che esegue il TFS autorizzazione del servizio di compilazione nella directory del sito web.

  3. Ecco gli argomenti MSBuild che ho usato. Sostituire i vari nomi con i vostri nomi. Stavo usando DEV e qualsiasi CPU. Ho anche bisogno di consentire un certificato non attendibile.

    / m / p: PublishProfile = DEV / p: Configurazione = DEV / p: Piattaforma = "Qualsiasi CPU" / p: DeployOnBuild = true / p: AllowUntrustedCertificate = true / p: AuthType = NTLM

  4. In Gestione IIS con il sito web di destinazione selezionato, aprire Permessi Gestione IIS e consentire l'utente che esegue il servizio TFS build.

Tracing è stato molto utile per diagnosticare i problemi. È possibile attivare la traccia in Gestione dei Servizi delega in IIS Manager. Inizialmente non riuscivo a vedere Service Management delega in IIS Manager. Per arrivare a dimostrare che avevo a 'cambiare' Web Deploy da aggiungere programmi in modo che Service Management Delegazione è stato installato. Sembrava come se fosse stato installato, ma ho ripristinare il menu a discesa per l'installazione al mio computer e ha completato l'installazione. Poi è apparso in IIS Manager.

Non sono sicuro sulla causa esatta, ma può essere in grado di aiutare il ya trovare la strada.

WebDeploy utilizza due punti di ingresso in base alla configurazione del server remoto, vale a dire se la sua esecuzione IIS6 o IIS7.

IIS 7 usi il IIS deployment handler , che è gestito dal servizio di gestione Web e permette msdeploy a disposizione direttamente IIS. Tutte le impostazioni della "gestione dei servizi di delega", ecc si riferiscono a questa configurazione.

IIS 6, tuttavia, non ha il servizio di gestione Web in modo che il gestore non funzionerà. Per IIS6 obiettivi, un servizio chiamato MS Deploy Service Agent viene utilizzato.

Che cosa è strano che la configurazione suggerisce si sta usando IIS 7, come lo siete stati in grado di impostazioni DELEGAZIONE set, ecc, tuttavia, tale URL, "/ MSDEPLOYAGENTSERVICE" suggerisce che la macchina sta tentando di utilizzare il servizio ... quasi come se si pensa che la sua IIS 6. Il servizio richiede l'accesso di amministrazione, che è il motivo per cui si stanno ottenendo quell'errore.

In base l'errore sembra che si invoca questo da MSBuild, probabilmente direttamente da Visual Studio. Si consiglia di guardarsi intorno le impostazioni che è stato dato e vedere se qualcosa lì dentro sta causando questo percorso e / o selezione del server.

Assicurarsi inoltre il servizio di gestione Web è in esecuzione sul computer remoto.

In sostanza hai intenzione di vederlo effettuare chiamate distribuzione in un URL diverso, http: //. <> /Msdeploy.axd (se non ricordo male) correttamente richiamare il gestore

Questo ha mangiato fino troppo molte ore del mio tempo. Ho già avuto Web Deploy lavorare per i miei altri siti. Ho deciso di aggiungere un nuovo sito web per il mio server, e ho cercato di distribuire ad esso (ma accidentalmente lasciato lo stesso " sito / applicazione " nome a causa di una copia troppo zelante errore / incolla). Pubblica riuscito, ma quando mi sono reso conto ho pubblicato sul sito sbagliato (al posto del nuovo sito), ho cambiato il nome del sito e ha cercato ri-distribuzione, ma ho continuato a ottenere questo errore. Ho provato di tutto sulla fine IIS delle cose. Infine, ho appena spento il mio visivo esempio Studio 2010 del tutto. Aprì il backup, ha provato la pubblicare di nuovo e ha funzionato!

In caso di dubbio, chiedetevi: "Hai provato a spegnerlo e riaccenderlo?"
Mi rendo conto che questo consiglio non aiuterà tutti con questo errore ambiguo -. Solo pochi eletti

Se l'utente è un amministratore, ma è ancora ottenere

ERROR_USER_IS_NOT_ADMIN

assicurarsi che si sta utilizzando il nome utente completo.

MyMachineName \ MyWebDeployUser

Ieri ero in grado di distribuire bene, oggi ha avuto questo esattamente lo stesso messaggio di errore. Dopo un'ora o due di risoluzione dei problemi ho finito per rimuovere il dominio da mio nome utente. Dove prima era DOMINIO \ nomeutente, ho cambiato in appena [username], lo' ed ecco, ha cominciato a lavorare di nuovo. So che questo non è una grande risposta, ma forse aiuterà qualcun altro che corre attraverso di esso.

Web Deploy smesso di lavorare per noi ieri quando si utilizza l'identità dell'utente corrente di Windows (che ha lavorato con credenziali esplicite) dopo l'installazione delle patch per MS15-025 e MS15-027 su uno dei nostri controller di dominio che esegue Windows Server 2003.

Abbiamo controllato tutte le raccomandazioni per il Web Deploy e non poteva risolvere l'errore HTTP 401.2.

Ora, Microsoft ristampato le patch per entrambi i bollettini specificamente per Windows Server 2003 (KB3033395-v2 e KB3002657-v2). Dopo aver installato le patch aggiornate e l'avvio del controller di dominio, ha funzionato di nuovo immediatamente. Non abbiamo nemmeno dovuto riavviare i servizi sul server Web.

Non ci sono state voci del registro eventi che puntano a questo, è diventato evidente solo a causa della relazione temporale.

C'è un'altra possibilità: il vostro account è stato bloccato a causa di troppi tentativi falliti per distribuire con Web Deploy. Ripristinare il tuo account o il vostro amministratore di sistema che fa per voi. Molto frustrante.

Il mio problema era che i Servizi di rete è stato l'account di accesso nella sezione Web Deploy Service Agent e account non di autorizzazioni sufficienti per modificare o leggere i file IIS ...

Per risolvere il problema basta fare le seguenti operazioni:

Aprire il Pannello di Servizi (services.msc)
Trovare la Web Deploy Service Agent e Fare doppio clic per aprire la Web Deploy servizio agente le proprietà ... Alla scheda Log On cambiare il "Accedi come" ad un account amministratore ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top