PowerShellを使ってメール送信部分を書く。 email.ps1 等で次の内容のファイルを作成する。最近はUTF-8で保存しがちであるが、日本語環境では必ず Shift-JISで保存すべし。
$mail = @{
from = "送信元@gmail.com";
to = "送信先@gmail.com";
smtp_server = "smtp.gmail.com";
smtp_port = 587;
user = "送信元@gmail.com";
password = "送信元のパスワード";
}
$client = New-Object Net.Mail.SmtpClient($mail["smtp_server"], $mail["smtp_port"])
# GmailはSMTP + SSLで送信する
$client.EnableSsl = $true
# SMTP Authのため、認証情報を設定する
$client.Credentials = New-Object Net.NetworkCredential($mail["user"], $mail["password"])
$msg = New-Object Net.Mail.MailMessage($mail["from"], $mail["to"], "SERVER 再起動", "SERVERが再起動されました")
$client.Send($msg)
全般は * 名前を決める * ユーザーがログオンしているかどうかに関わらず実行する
トリガーは * タスクの開始 スタートアップ時
今回は上記のファイルをAdminのデスクトップに置いたので、タスクスケジューラの 操作 で
* プログラムの開始
* プログラム %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
* 引数の追加 -Command ".\email.ps1"
* 開始(オプション) C:\Users\Administrator\Desktop
条件は全てのチェックを外す。
設定は タスクを要求時に実行する のみにチェックを入れる。
履歴が見えていない場合は
eventvwr.msc を実行し、アプリケーションとサービス ログ→Microsoft→Windows→TaskScheduler→Operational→右クリックからプロパティ→
ログを有効にする+イベントを上書きしないでログをアーカイブする
とする。