1. tatamyiwathy

    Posted

    tatamyiwathy
Changes in title
+Windowsに誰かがログオンしたらそのユーザ名をメールで送信する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,47 @@
+わりと機密度が高いPCがあってそこに誰かがログインしたらメールで教えてほしいときに、
+以下の手順でメールを送信する。
+
+- powershellでメールを送信する
+- タスクスケジューラでタスクを作成する
+
+# powershellでメールを送信する
+
+
+以下を参照しました。
+http://www.atmarkit.co.jp/ait/articles/1407/01/news018.html
+
+```param($msgTo,$msgSubject,$msgBody)
+#SMTPサーバーの設定
+$smtpHost = "ホストorIP"
+$msgFrom = "送信元アドレス"
+$accountName = "メールアカウントユーザ名"
+$accountPass = "メールアカウントパスワード"
+$smtpPort = 587 #SMTPポート番号
+$smtpSSL = $false #SSL暗号化($trueまたは$false)
+#SMTPクライアントの設定
+$objEmail = new-object System.Net.Mail.SmtpClient
+$objEmail.Host = $smtpHost
+$objEmail.Port = $smtpPort
+$objEmail.EnableSSL = $smtpSSL
+$objEmail.Credentials = New-Object Net.NetworkCredential
+$objEmail.Credentials.UserName = $accountName
+$objEmail.Credentials.Password = $accountPass
+#メッセージ送信
+$objEmail.Send($msgFrom,$msgTo,$msgSubject,$msgBody)
+```
+このスクリプトをsndmsg.ps1としてc:\scriptsに保存しました。
+
+次にこのスクリプトでメール送信できるか確認します。
+
+powershellを起動します。
+```c:\scripts\sndmsg.ps1 -msgTo '送り先' -msgSubject '件名' -msgBody '本文'```
+
+エラーなくスクリプトが終了すれば送信できているはずです。
+
+# タスクスケジューラでタスクを作成する
+
+タスクのトリガーに「ログオン時」、操作に「プログラムの開始」、プログラム/スクリプトに「powershell.exe」、引数の追加に「-Command "c:\scripts\sndmsg.ps1 -msgTo '送り先' -msgSubject '件名' -msgBody %USERNAME%がログオンしました'"」でタスクを作成する。
+
+***
+以上で誰かがPCにログオンしたことをメールで知らせてくれます。
+