Trong thế giới ARM mới và với PowerShell mới nhất, bạn cần thực hiện một số điều chỉnh cho câu trả lời của @ Seth.
Cụ thể, cách bạn nhận được tín dụng xuất bản khác nhau, đó là 3 dòng đầu tiên. Phần còn lại tôi không biết phải sao chép từ @Seth để hoàn thành đoạn trích.
Hãy chắc chắn rằng để thay thế YourResourceGroup/YourWebApp như thích hợp:
$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
Nguồn
2015-12-30 00:48:27
Tuyệt vời ví dụ và demo của auth cơ bản. –
Tôi đã thêm một câu trả lời mới để đưa câu trả lời của @ Seth vào thế giới Azure ARM. –
Cẩn thận, nếu bạn đang sử dụng vị trí, trang web $.Name sẽ là websitename (slot) trong trường hợp đó, Invoke-RestMethod không thành công. Thay vào đó, '$ matchedNames = $ azureWebSite.EnabledHostNames -match 'scm' if ($ matchedNames -and $ matchedNames.count -gt 0) { $ WebSiteName = $ matchedNames [0] }' – Yash