-1

我想对我正在开发的集成代码发表一些评论......尝试将 Office365 集成到 Solarwinds:

import-Module Office365Alerts


$Username = 'XXXXX@XXX.XXX'
$Password = 'XXXXXXXXXXXXXXXX'


$credential = New-Object -TypeName pscredential -ArgumentList $Username, ($Password | ConvertTo-SecureString -AsPlainText -Force) -ErrorAction Stop


$alerts = Get-Office365ServiceHealth -Credential $credential -ErrorAction Stop  | Select-Object -Property * | Where-Object Service -like '*Exchange*'


foreach($a in $alerts){
[regex]$regex = '\bCurrent status:\s?.*\s' 
$Mess = $a.LatestMessage 

if($Mess -match $regex){
foreach($m in $mess){
Write-Host "Message:Title: $($a.Title)"

Write-Host "Message:Impact: $($a.UserImpact)"

Write-Host "Message:Start Time: $($a.StartTime)"

Write-Host "Message:Last Update: $($a.LastUpdate)"

Write-Host "Message: $($Matches.Values)"


}
Write-Host "Statistic: 1"
}



}

if($a -eq $null){

Write-Host "Message: Service is Healthy"
Write-Host "Statistic: 0"
4

1 回答 1

1

SolarWinds Powershell 监视器限制为 10 个返回的指标对(消息和统计信息),如果返回的警报超过 10 个,它将中断。当您返回 5 条消息时,它们在 foreach($a in $alerts) 循环中似乎是相同的,它们不会有唯一的名称,也可能会给您带来问题。

您是在本地主机还是远程主机执行模式下运行脚本?如果您在没有 Office365 命令行开关的主机上运行它,它将失败。

您是否在模板中启用了调试日志记录?它位于模板编辑视图顶部的“高级”下。日志可以在 ProgramData\SolarWinds\Logs\APM 中找到,请记下您的 templateID 或其 componentID,因为日志将被它们引用。

于 2018-08-07T15:47:46.973 回答