我想通过Powershell从Kudu下载文件,使用的Invoke-WebRequest我所获得的只是一个没有日志数据的filename.log,从我在日志文件中看到的内容来看,登录屏幕是天蓝色的“登录到您的帐户”。
调用WebRequest“ https://AppName.scm.azurewebsites.net/api/vfs/LogFiles/FileName.Log ” -OutFile $ FilePath1 Get-ChildItem -File $ FilePath1 -Recurse | Set-AzureStorageBlobContent-容器FilesContainer -Context $ StorageContext
您需要在Invoke-WebRequest标头中提供您Webapp的发布配置文件的用户名和密码以进行身份验证。
您可以在“发布配置文件”中获取用户名和密码。您可以从Azure Web App下载发布配置文件。并在publishProfile部分中引用userName和userPWD值。
# User name from WebDeploy Publish Profile. Use backtick while assigning variable content
$userName = "{userName}"
# Password from WebDeploy Publish Profile
$password = "{Password}"
# Encode username and password to base64 string
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $userName, $password)))
# pass the authentication to Header
Invoke-WebRequest -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET -OutFile $filePath -ContentType "multipart/form-data"
您还可以通过脚本获取用户名和密码,请参见以下示例:
$ResGroupName = ""
$WebAppName = ""
$LogFolder = ""
# Get publishing profile for web application
$WebApp = Get-AzWebApp -Name $WebAppName -ResourceGroupName $ResGroupName
[xml]$publishingProfile = Get-AzWebAppPublishingProfile -WebApp $WebApp
# Create Base64 authorization header
$username = $publishingProfile.publishData.publishProfile[0].userName
$password = $publishingProfile.publishData.publishProfile[0].userPWD
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
# pass the authentication to Header
Invoke-WebRequest -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET -OutFile $filePath -ContentType "multipart/form-data"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句