この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
バックアップの「開始時間」「終了時間」をメールを使って通知させたいと思い、バッチ処理中にコマンドからメール送信できるようにしました。
まずはポリシーの変更をします。
※デフォルトのポリシーではPowerShellのコマンド実行が許可されていない
Set-ExecutionPolicy RemoteSigned
以下がメールを送信するスクリプトです。
$sc = New-Object Net.Mail.SmtpClient("サーバーアドレス") $Credentials = new-object System.Net.networkCredential("アカウント名", "パスワード") $mail = New-Object System.Net.Mail.MailMessage $mail.from = "差出人アドレス" $mail.to.Add("宛先アドレス") $mail.Subject = "件名" $mail.Body = "内容" $sc.UseDefaultCredentials = $false $sc.EnableSsl = $false #非SSL環境を想定 $sc.Credentials=$Credentials #SMTP認証 $sc.Port = 587 #ポート番号はサーバーに寄って可変 $sc.Timeout = 10000 $sc.Send($mail)
メールの部分をファイル化してあげた場合は、下記のようにコマンド実行します。
powershell Set-ExecutionPolicy RemoteSigned powershell mail.ps1 powershell Set-ExecutionPolicy Restricted