In der neuen ARM-Welt und mit der neuesten PowerShell müssen Sie einige Anpassungen an @ Seths Antwort vornehmen.
Insbesondere die Art und Weise, wie Sie die Publishing Credits erhalten, ist anders, das ist die ersten 3 Zeilen. Der Rest habe ich schamlos von @Seth kopiert, um den Ausschnitt zu vervollständigen.
Stellen Sie sicher, YourResourceGroup/YourWebApp gegebenenfalls zu ersetzen:
$creds = Invoke-AzureRmResourceAction -ResourceGroupName YourResourceGroup -ResourceType Microsoft.Web/sites/config -ResourceName YourWebApp/publishingcredentials -Action list -ApiVersion 2015-08-01 -Force
$username = $creds.Properties.PublishingUserName
$password = $creds.Properties.PublishingPassword
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$apiBaseUrl = "https://$($website.Name).scm.azurewebsites.net/api"
$kuduVersion = Invoke-RestMethod -Uri "$apiBaseUrl/environment" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET
Hervorragendes Beispiel und Demo von Grund Auth. –
Ich habe eine neue Antwort hinzugefügt, um @ Seths Antwort in die Azure ARM Welt zu bringen. –
Vorsicht, wenn Sie Slot verwenden, wäre $ website.Name Websitename (Slot). In diesem Fall schlägt Invoke-RestMethod fehl. Stattdessen tun '$ matchedNames = $ azureWebSite.EnabledHostNames -match 'scm' if ($ matchedNames -und $ matchedNames.count -gt 0) {$ Website = $ matchedNames [0] }' – Yash