Windows 이벤트 로그에 특정 이벤트가 기록되면 LINE WORKS Bot에서 알림

Windows 이벤트 로그에 특정 오류 이벤트가 기록될 때 LINE WORKS Bot API를 통해 알립니다.

PowerShell 스크립트



다음 문서에서 설명한 PowerShell 스크립트를 기반으로 Get-EventLog cmdlet에서 이벤트 내용을 검색하고 토크에 포함되도록 변경했습니다.

TITLE : PowerShell에서 토크 Bot API로 LINE WORKS로 메시지 보내기
URL : htps : // 코 m / 이와 오히 히 / ms / 92 a 3b5b4 a f288c22 a 96 a

Windows 작업 스케줄러에서 이벤트를 트리거하고 스크립트 파일을 실행하도록 작업을 만듭니다.

스크립트 예제는 다음과 같습니다.
$header = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$header.Add("Content-Type","application/json; charset=UTF-8")
$header.Add("consumerKey","<Server API Consumer Key>")
$header.Add("Authorization","Bearer <Server Token>")
$header.Add("Cache-Control","no-cache")

$botno = "<Bot No.>"
$accountId = "<user id>"

$GetEventLog = Get-EventLog -LogName System  -Newest 1 -EntryType Error
$EventLog = "エラーを検知しました \r\n\r\n[日時] \r\n" + [string]$GetEventLog.TimeGenerated + "\r\n\r\n[ソース] \r\n" + [string]$GetEventLog.Source + "\r\n\r\n[メッセージ] \r\n" + [string]$GetEventLog.Message


$request = @"
{
    "botNo": $botno,
    "accountId": "$($accountId)",
    "content": {
        "type": "text",
        "text": "$($EventLog)"
    }
}
"@


$Body = [System.Text.Encoding]::UTF8.GetBytes($request)

$Uri = "https://apis.worksmobile.com/<API ID>/message/sendMessage/v2"
Invoke-RestMethod -Uri $Uri -ContentType 'application/json' -Method Post -Header $header -Body $Body

단순히 토크로 통지를 송신할 뿐만 아니라, 트리거가 된 이벤트의 개요를 포함한 메세지를 생성하기 위해서 Get-EventLog cmdlet를 이용합니다.

Get-EventLog에 대한 자세한 내용은 이 Microsoft 문서를 참조하십시오.

TITLE: Get-EventLog
URL : htps : // / cs. mic로소 ft. 코 m/엔-우 s/포ぇr시ㅇl/모즈ぇ/미 c로소 ft. Pou r shi l. 마나게 멘 t / 게 t - ゔ ぇ t ぉ g?ゔ ぃ え ぇ ぇ r ぇ l 5.1

위의 예제 스크립트는 다음과 같이 시스템 이벤트 로그를 검색합니다.
적절하게, 취득 대상의 이벤트에 맞추어 재기록해 주세요.
Get-EventLog -LogName System -Newest 1 -EntryType Error
게다가 스크립트 예제에서는, 취득한 이벤트의 상세로부터 생성 일시, 소스, 내용의 항목을 토크 메세지에 포함하는 처리를 실시하고 있습니다. 여기도 대화 메시지에 포함하려는 항목에 맞게 다시 작성하십시오.

작업 스케줄러



Windows 작업 스케줄러를 시작하고 이벤트 로그 기록을 트리거하는 PowerShell 스크립트를 실행하는 작업을 만듭니다.

사용자 지정 이벤트 필터를 사용하여 이벤트 기록을 트리거로 설정할 수 있습니다.


만든 PowerShell 스크립트 파일이 실행되도록 설정합니다.



동작 확인



트리거에 지정한 이벤트를 기록할 때 Bot에서 해당 이벤트의 개요를 포함한 알림 메시지를 받습니다.

좋은 웹페이지 즐겨찾기