私はフォルダの内容を確認するために書いたpowershellスクリプトを持っています。また、20分以上経過したLastWriteTimeのファイルがあれば通知します。私が抱えている問題は、電子メール本文のすべてのファイルを含む結果が得られたときです。電子メールの本文に最新のファイル名だけを取得するにはどうすればよいでしょうか?Powershell Get-ChildItem
$src = 'c:\test'
$sendmail = $false
Get-ChildItem -path $src | ForEach-Object {
#write-host $_.fullname
$dtdiff = New-TimeSpan ($_.LastWriteTime) $(Get-Date)
if ($dtdiff.TotalMinutes -gt 20){
$strbody=$strbody +$_.fullname+ " Last File Modified at " +$_.LastWriteTime +"`r`n"
$sendmail=$true
}
}
#$strbody
if($sendmail -eq $true){
# Email components
$strFromAddress = "[email protected]"
$strToAddress = "[email protected]"
$strMessageSubject = "REPORT"
$strMessageBody = $strbody
$strSendingServer = "smtp.com"
$SMTPPort = "587"
$emailSmtpUser = "[email protected]"
$emailSmtpPass = "test123"
# Email objects
$objSMTPMessage = New-Object System.Net.Mail.MailMessage $strFromAddress, $strToAddress, $strMessageSubject, $strMessageBody
$objSMTPClient = New-Object System.Net.Mail.SMTPClient( $strSendingServer, $SMTPPort)
$objSMTPClient.EnableSsl = $true
$objSMTPClient.Credentials = New-Object System.Net.NetworkCredential($emailSmtpUser , $emailSmtpPass);
$objSMTPClient.Send($objSMTPMessage)
}
あなたは、最新のファイル名を言って何を意味するのですか? – 4c74356b41