0

ログ ファイル内のパターンを見つけてログ ファイルにリダイレクトするために、powershell を作成しました。サーバーごとにヘッダーが必要なため、次のようにコードを記述しました。

ただし、ヘッダー ファイルはログ ファイルにリダイレクトされません。任意の提案をお願いします。

以下に示すコード:

    $date_value=Get-Date -Format ddMMM 
    #$file_path="D:\Temp\Arun\mu.log"
    $file_path1="\\server1\d$\Temp\Arun\abc.log"
    $file_path2="\\server2\d$\Temp\Arun\abc.log"
    $file_path3="\\server3\d$\Temp\Arun\abc.log"
    # Set the match patterns in the three clusters
    $match_pattern1=select-string -pattern $date_value $file_path1
    $match_pattern2=select-string -pattern $date_value $file_path2
    $match_pattern3=select-string -pattern $date_value $file_path3
    $LogDir="D:\temp\arun\Log\"
    $DTS=Get-Date -Format "yyyy_MM_dd_HH_mm_ss"
    $LogFile = $LogDir+"fetch_data."+$DTS+".log"
    $OldLog = $LogFile+".old"
    Write-Host "**********************************************************" >> $LogFile
    Write-Host "Checking log for today's entries in SERVER1"  >> $LogFile
    Write-Host "**********************************************************" >> $LogFile
    $match_pattern1  >> $LogFile
    Write-Host "**********************************************************" >> $LogFile
    Write-Host "Checking log for today's entries in SERVER2" >> $LogFile
    Write-Host "**********************************************************" >> $LogFile
    $match_pattern2  >> $LogFile
    Write-Host "**********************************************************" >> $LogFile
    Write-Host "Checking log for today's entries in SERVER3" >> $LogFile
    Write-Host "**********************************************************" >> $LogFile
    $match_pattern3  >> $LogFile

ログファイルが添付ファイルとして電子メールで送信されるように、上記に加えてコードを取得するのを手伝ってくれる人がいれば幸いです。

4

2 に答える 2

4

この機能が気に入らないので、これを行う関数を書きました.ログメッセージはコンソールから引き続き表示されるように設定されています:

FUNCTION Write-Log ($message) {
Write-Host $message
$message | Out-File $LogFile -Append
}

Write-Log "..."
于 2013-06-25T12:31:11.527 に答える
4

Write-Hostパイプラインではなくコンソールに書き込みます。ファイルにコンテンツを追加するためのOut-Fileおよびコマンドレットを確認してください。メールの送信方法については、コマンドレットAdd-Contentのヘルプを参照してください。Send-MailMessage

于 2013-06-25T10:12:31.330 に答える