そこで今回はPowerShellを使って、特定のプログラムがインストールされているPCからメールを送信する方法について説明します。
PowerShellのスクリプトファイルを作る
適当なファイル名、例えば「CheckProgram.ps1」などでスクリプトファイルを作成します。
CheckProgram.ps1の内容
Param( [string]$program ) $value = (Get-WmiObject -Class Win32_Product | Select-Object Name, Version | Select-String $program) if ($value -ne $null) { $subject = $program + "が検出されました。" $computer = $env:COMPUTERNAME $encoding = [System.Text.Encoding]::UTF8 $body = "Computer: " + $computer + "`r`n" + $value Send-MailMessage -to "to@example.com" -from "from@example.com" -subject $subject -body $body -encoding $encoding -SmtpServer "mail.example.com" }
Send-MailMessageの引数「-to」「-from」「-SmtpServer」は適所変更してください。
GPOでタスクスケジュールに登録する
上で作成したスクリプトをタスクスケジュールで実行させます。トリガーの設定は適当に設定してください。
新しく操作を追加し、操作には「プログラムの開始」、「プログラム/スクリプト」「引数の追加(オプション)」には下記の内容を設定します。
新しく操作を追加し、操作には「プログラムの開始」、「プログラム/スクリプト」「引数の追加(オプション)」には下記の内容を設定します。
プログラム/スクリプト
powershell
引数の追加(オプション)
-NoProfile -ExecutionPolicy Bypass "\\example\scripts\CheckProgram.ps1" -program "Flash Player"
引数「-program」の後ろ("Flash Player")を変えることで別のプログラムの監視も出来ます。
0 件のコメント:
コメントを投稿