我想发送一个通知discord关于powershell runbook结果与webrequest在我的runbook下azure自动化。因为我想在所有Runbook下应用它,所以我想在消息中使用Runbook名称,这样我就可以看到通知来自哪个Runbook,有没有方法可以提取我的代码工作的Runbook名称?我试
$runbookName = $MyInvocation.BoundParameters['Name']
字符串但我没有成功
bt1cpqcv1#
使用$MyInvocation.MyCommand.Name变量获取当前Runbook的名称。
$MyInvocation.MyCommand.Name
$runbookName = $MyInvocation.MyCommand.Name
字符串向discord发送关于我的Runbook中的PowerShell Runbook结果与Web请求的通知:您可以将Invoke-WebRequest PowerShell命令与Post方法调用一起使用,沿着使用下面的脚本。
Invoke-WebRequest
Post
$runbookName = $MyInvocation.MyCommand.Name $webhookURL = "https://discord.com/" //Modify URL as per your requirement. $message = "runbook is completed" $reqbody = @{ content = $message } | ConvertTo-Json Invoke-WebRequest -Uri $webhookURL -Method Post -Body $reqbody -ContentType "application/json"
型
的数据
6tdlim6h2#
我想这样做的通知发送自动化工作,如果你需要这样的东西,我想告诉你我是如何解决的。首先转到您的自动化帐户下的诊断设置,并设置日志分析工作区以记录JobStream和JobStreams数据。然后按照您选择的自动化帐户下的Alerts-> Create-> Alert rule步骤创建一个Alert Rule。
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" | where Category == "JobLogs" | where ResultType == "Started" or ResultType == "Completed"
字符串您还可以使用此流程通过不同的查询获取不同的信息。我正在跟踪此特定作业的Runbook的开始和结束。我还创建了一个警报机制,用于发送在不同版本中收到错误的Runbook以及它们收到的错误。感谢所有感兴趣的人。
2条答案
按热度按时间bt1cpqcv1#
使用
$MyInvocation.MyCommand.Name
变量获取当前Runbook的名称。字符串
向discord发送关于我的Runbook中的PowerShell Runbook结果与Web请求的通知:
您可以将
Invoke-WebRequest
PowerShell命令与Post
方法调用一起使用,沿着使用下面的脚本。型
的数据
6tdlim6h2#
我想这样做的通知发送自动化工作,如果你需要这样的东西,我想告诉你我是如何解决的。
首先转到您的自动化帐户下的诊断设置,并设置日志分析工作区以记录JobStream和JobStreams数据。
然后按照您选择的自动化帐户下的Alerts-> Create-> Alert rule步骤创建一个Alert Rule。
字符串
您还可以使用此流程通过不同的查询获取不同的信息。我正在跟踪此特定作业的Runbook的开始和结束。我还创建了一个警报机制,用于发送在不同版本中收到错误的Runbook以及它们收到的错误。感谢所有感兴趣的人。