Powershell 与 Office365 的集成
Powershell integration with Office365
我想对我正在开发的集成代码发表一些评论...尝试将 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"
SolarWinds Powershell 监视器限制为 10 个返回的指标对(消息和统计信息),如果返回的警报超过 10 个,它将中断。当您返回 5 条消息时,它们在 foreach($a in $alerts) 循环中看起来是相同的,它们不会有唯一的名称,这也可能给您带来问题。
您运行 脚本是在本地主机还是远程主机执行模式?如果您在没有 Office365 commandlet 的主机上 运行 它,它将失败。
您是否在模板中启用了调试日志记录?它位于模板编辑视图顶部的高级下。日志可以在 ProgramData\SolarWinds\Logs\APM 中找到,请记下您的模板 ID 或其组件 ID,因为日志将被它们引用。
我想对我正在开发的集成代码发表一些评论...尝试将 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"
SolarWinds Powershell 监视器限制为 10 个返回的指标对(消息和统计信息),如果返回的警报超过 10 个,它将中断。当您返回 5 条消息时,它们在 foreach($a in $alerts) 循环中看起来是相同的,它们不会有唯一的名称,这也可能给您带来问题。
您运行 脚本是在本地主机还是远程主机执行模式?如果您在没有 Office365 commandlet 的主机上 运行 它,它将失败。
您是否在模板中启用了调试日志记录?它位于模板编辑视图顶部的高级下。日志可以在 ProgramData\SolarWinds\Logs\APM 中找到,请记下您的模板 ID 或其组件 ID,因为日志将被它们引用。