Invoke-WebRequest无法在Azure自动化中使用

时间:2015-04-08 00:03:12

标签: powershell azure azure-automation powershell-workflow

Invoke-WebRequest无法在Azure中使用。 我在Powershell ISE中测试了相同的代码并且它可以工作。

这是错误:

4/8/2015 9:24:14 AM, Error: Microsoft.PowerShell.Utility\Write-Error : aa00-csmo-t2 - Could not download https://nage1.blob.core.w
indows.net/application/applicationcertificates.7z?sv=2014-02-14&sr=c&sig=ke1lxWQM%3D&se=2016-04-07T06%3A04%3A49Z&sp=r - 
At Install-Certificates:168 char:168
+ 
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : 
Microsoft.PowerShell.Commands.WriteErrorException,Microsoft.PowerShell.Commands.WriteErrorCommand

以下是我在Powershell ISE中使用的代码:

workflow test
{
    $ApplicationCertsBlobUrl = 'https://nage1.blob.core.w
indows.net/application/applicationcertificates.7z?sv=2014-02-14&sr=c&sig=ke1lxWQM%3D&se=2016-04-07T06%3A04%3A49Z&sp=r'

    $applicationCertsZipFileSource = 'C:\Temp\test.7z'

    Invoke-WebRequest $ApplicationCertsBlobUrl -OutFile $applicationCertsZipFileSource
}

我也尝试过:

InlineScript
            {
                $client = New-Object System.Net.WebClient
                $client.DownloadFile($using:ApplicationCertsBlobUrl, $using:applicationCertsZipFileSource)
            }

但是我得到了这个例外:

4/8/2015 9:40:14 AM, Error: Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request."
At Install-Certificates:164 char:164
+ 
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

1 个答案:

答案 0 :(得分:1)

我必须将Invoke-WebRequest包裹在InlineScript