このスクリプトは、2行(3行目以降)を超える場合、自分宛てに電子メールを送信します。以下のスクリプトを試してみましたが、メール通知を受け取ることができませんでした。SMTPサーバーは正常に動作しており、問題はありません。コードにどのような問題があるのかわかりますか?
ツール:
$Output = ".\Name.txt" If (Get-Content -Path $Output | Where-Object {$_.Count -gt 2}) { $MailArgs = @{ 'To' = "[email protected]" 'From' = "[email protected]" 'Subject' = "Pending. " 'Attachments' = $Output 'Body' = "Please close it" 'SmtpServer' = "exchangeserver.com" } Send-MailMessage @MailArgs }
出力ファイルの例は電子メールを送信します
| Name | PassportNo | DOB | |
+------+------------+------------+--------------------------------------+
| A | IDN7897 | 29-08-1980 | << once got this row will send email |
| B | ICN5877 | 14-08-1955 | |
| C | OIY7941 | 01-08-1902 | |
+------+------------+------------+--------------------------------------+
コメントしたように、あなたのIfテストは間違っています。
If (Get-Content -Path $Output | Where-Object {$_.Count -gt 2})
あなたを使用して、ファイルから各単一行をパイプし、その単一行の.Countプロパティが2より大きいかどうかをテストします(もちろん、そうではありません)
Ifをに変更します
If ((Get-Content -Path $Output).Count -gt 2)
したがって、.Countプロパティは、ファイル内の合計行数を示します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加