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→右クリックからプロパティ→
ログを有効にする+イベントを上書きしないでログをアーカイブする
とする。