2016-06-04 5 views
10

In Visual Studio 2015, wenn ich meine Website/Webapp in Azure veröffentliche, kann ich automatisch ein neues Veröffentlichungsprofil erstellen (indem ich meine persönlichen Azure-Kontoanmeldeinformationen eintrage). Dadurch werden die Dateien .pubxml und .pubxml.user erstellt. Der Bereitstellungsbenutzername hat das Format "$websiteName" und das Kennwort wird durch eine lange Reihe von Aufzählungszeichen dargestellt. Die Datei .pubxml.user enthält das eigentliche Passwort, das so verschlüsselt ist, dass nur mein Visual Studio es lesen kann, indem ich es mit meinem lokalen Windows-Benutzerkonto entschlüssle - ich habe als Mensch keine Möglichkeit, es zu sehen. Außerdem werden die Dateien .user von der Quellcodeverwaltung ausgeschlossen (die Dateien .pubxml sind jedoch in der Quellcodeverwaltung enthalten).Woher bekomme ich mein aktuelles Azure-Website-Bereitstellungskennwort?

Wenn eine andere Person in meinem Team versucht, die Website bereitzustellen, werden die gleichen Bereitstellungseinstellungen angezeigt. Sie werden jedoch aufgefordert, das Kennwort für das Konto "$website" einzugeben. Ich habe keine Ahnung, woher dieses Passwort kommt - das Azure Management-Portal zeigt es nicht an.

Wenn die Person, die das Portal öffnet und wählt das Verlagsprofil zurücksetzen, dann können sie eine neue .pubxml-Datei herunterladen, die ein verschlüsseltes Kennwort enthält, das kann ich nur ihre persönlichen Azure Anmeldeinformationen verstehen entschlüsseln, aber das bricht für mich Bereitstellung und andere Benutzer, weil jetzt ihre gespeicherten Passwörter (in den .user Dateien) ungültig ist.

Ich verstehe, dass dies ein anderer Benutzername + Passwort für die "Deployment Credentials" -Blade im Azure-Portal ist, da die Website derzeit keine Deployment Credentials enthält. Wenn ich einen festlegen möchte, ist der Benutzername anders. Das Portal gibt an, dass diese Anmeldeinformationen ohnehin für den FTP-Zugriff vorgesehen sind - die Web Deploy-Funktion wird nicht erwähnt.

+0

Nur ein dummer Gedanke - haben Sie versucht, ein Passwort-Demaskierungstool für das Passwort-Textfeld in Visual Studio zu verwenden? Etwas wie http://www.nirsoft.net/utils/bullets_password_view.html –

Antwort

19

Sie können die aktuellen Anmeldeinformationen über das Portal oder PowerShell/CLI abrufen. Auf dem Portal befindet sich oben auf dem Webapp-Blade eine Schaltfläche zum Herunterladen des Veröffentlichungsprofils (nicht das Blade für die Bereitstellungsberechtigung, sondern das Blade für die Webanwendung). Sie können auch sie von Powershell erhalten - in Powershell, es ist:

Get-AzureRmWebAppPublishingProfile -ResourceGroupName $ResourceGroupName -Name $WebAppName -OutputFile creds.xml -Format WebDeploy 

Das Passwort wird in diesen Fällen nicht verschlüsselt.

+1

Seufzer. Wie üblich wird 'Powershell' aufgerufen, ohne anzugeben, wie man den Befehl bekommt. Get-AzureRmWebAppPublishingProfile: Der Begriff "Get-AzureRmWebAppPublishingProfile" wird nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder überprüfen Sie, ob ein Pfad enthalten ist, vergewissern Sie sich, dass der Pfad korrekt ist, und versuchen Sie es erneut. – enorl76

+0

Sie müssen wahrscheinlich die Azure PowerShell-Cmdlets installieren ... versuchen Sie Folgendes: http://aka.ms/webpi-azps - Sie müssen AzureRMAccount zuerst anmelden und AzureRMSubscription auswählen, wenn Sie mehr als eine Subdatei haben. –

+0

In meinem Fall habe ich mich beim Azure-Portal angemeldet und das Publish-Profil vom Blade des App-Service heruntergeladen. Tatsächlich ist das unverschlüsselte Passwort in der Datei vorhanden - ich habe es kopiert und in den Veröffentlichungsassistenten von VS eingefügt ohne etwas zurücksetzen zu müssen .. – Dai