PowerShellについて以前調べたことをメモしておく
メール送信について
outlookを使用する方法
$OL = New-Object -ComObject Outlook.Application $Mail = $OL.CreateItem(0) $Mail.Recipients.Add("メール送信先") $Mail.Subject = "件名" $Mail.Body = "本文" $Mail.Send()
OUTLOOKを利用しない方法
- SMTP送信する際に認証が必要な場合の例
$username = "ユーザ名" $password = "パスワード" $mailhost = "メールサーバホスト名" $port = 送信先ポート番号 $from = "送信元メールアドレス" $recipients = "送信先メールアドレス" $subject = "件名" $body = "本文" $sc = New-Object Net.Mail.SmtpClient $sc.Host = $mailhost $sc.Port = $port $sc.EnableSsl = $true $sc.Credentials = New-Object Net.NetworkCredential $sc.Credentials.UserName = $username $sc.Credentials.password = $password $sc.send($from, $recipients, $subject, $body)
ファイル操作について
- 該当の拡張子のみのコピー
Copy-Item C:\Src\* C:\Dest -Include *.dll
- そのフォルダの下の階層のフォルダ、ファイル名を出力
Get-ChildItem -Recurse -Exclude .* | Export-Csv ./filelist.csv -encoding Default
その他メモ
nbtstat -a <IPアドレス>
- 日付のフォーマット
Get-Date -Format "yyyyMMdd_HHmmss"
- Windows Serverバックアップ
Start-WBBackup -Policy $wb_policy -Force -Async
- ログイン失敗情報取得(詳細)
Get-Eventlog Security -Source Microsoft-Windows-Security-Auditing -newest 10000 | where {$_.InstanceID -like "4625"} | Format-list