0

我是 Azure 自动化的新手。我想在每个工作日早上调用一个 URL 并获取它的 HTML。这是我到目前为止所写的。

workflow Wakeup-Url
{
    Param 
    (  
        [parameter(Mandatory=$true)]
        [String] 
        $Url
    )

    $day = (Get-Date).DayOfWeek
    if ($day -eq 'Saturday' -or $day -eq 'Sunday'){
        exit
    }

    $output = ""
    InlineScript {"$Using:output = (New-Object System.Net.WebClient).DownloadString(`"$Using:Url`");"}
    write-output $output
}

当我测试运行手册时,它没有在输出中给我 HTML。相反,我在输出窗格中得到的是:

= (New-Object System.Net.WebClient).DownloadString(" https://my.url.com/abc.html ");

4

3 回答 3

2

您的 InlineScript 目前只是输出一个包含您的脚本的字符串,因为您在整个表达式周围加上了引号:

InlineScript {"$Using:output = (New-Object System.Net.WebClient).DownloadString(`"$Using:Url`");"}

这就是你想要的我认为:

$output = InlineScript { (New-Object System.Net.WebClient).DownloadString("$Using:Url"); }
于 2015-05-11T22:17:25.183 回答
0

我正在使用 Azure Runbook 调度程序。我使用下面的代码来触发 URL 调用。

Function OutputStatus($type,$status) { 
    Write-Output "$type | $status"; 
}

Function Get-HTTPSStatus($url,$type) { 
    $HTTPSStatus = Invoke-WebRequest $url -Method Get –UseBasicParsing 
    if ($HTTPSStatus.StatusCode -eq "200") { 
     return OutputStatus -type $type -status "Success" 
    } else { 
     return OutputStatus -type $type -status "Error" 
    } 
}
Get-HTTPSStatus "http://www.google.com" "Google Website"

资料来源:https ://sharepointyankee.com/2018/01/29/creating-runbooks-in-azure-and-calling-them-from-sharepoint-using-webhooks-and-flow/

于 2019-04-09T05:28:34.823 回答
-1

这应该是比使用 Webclient 更简单的方法

$output = (Invoke-WebRequest -Uri http://www.google.com -UseBasicParsing).Content

于 2018-05-23T19:24:09.547 回答