Azure 自动化:调用 URL

Azure Automation: Calling a URL

我是 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");

您的 InlineScript 当前仅输出一个包含您的脚本的字符串,因为您在整个表达式两边加上了引号:

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

我想这就是你想要的:

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

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

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

我正在使用 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/