명령줄 응용 프로그램을 실행하여 결과를 이메일로 보내기
6749 단어 WindowsPowerShell
TL;DR
환경
내용
출처
다음은 tasklist
를 사용하여 메모리 사용량을 메일로 보내는 예입니다.
메모리 누수가 발생하여 서버가 정지하는 경우 등에 원인을 조사할 때 등에 사용한다.
runcommandandsend.ps1function ExecCmd([string]$strCmd)
{
$p = [System.Diagnostics.Process];
$pi = [System.Diagnostics.ProcessStartInfo];
$output = [string];
$pi = New-Object System.Diagnostics.ProcessStartInfo;
$pi.FileName = [System.Environment]::GetEnvironmentVariable("ComSpec");
$pi.Arguments = "/c " + $strCmd;
$pi.UseShellExecute = $false;
$pi.RedirectStandardOutput = $true;
#コマンドを実行し標準出力の内容を取得する
$p = [System.Diagnostics.Process]::Start($pi);
$output = $p.StandardOutput.ReadToEnd();
$p.WaitForExit();
return $output;
}
$output = [string[]];
$output = ExecCmd("tasklist");
Send-MailMessage -To "[email protected]" -From "[email protected]" -Subject "実行結果" -Body $output -SmtpServer example.com -Encoding ([System.Text.Encoding]::UTF8)
참고 : htp : // bg. 아오오오 r. jp / 헨타이가 / 아 r ゔ ぇ s / 51615192. HTML
작업 스케줄러의 등록 예
프로그램에 powershell
, 인수 추가에 ps1 파일의 전체 경로를 지정합니다.
실행하기 전에 PowerShell 스크립트 실행 권한
참고
htp : // bg. 아오오오 r. jp / 헨타이가 / 아 r ゔ ぇ s / 51615192. HTML
htps : // 코 m / 아라 짱 @ b / / ms / 93c2 fu c8 fu 5f7f66b fu
htps : // 이 m / n 후지타 55 A / MS / 73 A 1fc870Cb85df2
htps : // 코 m / 타르 치치 / ms / 3d2 0b5b0b7b04963750
Reference
이 문제에 관하여(명령줄 응용 프로그램을 실행하여 결과를 이메일로 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tfukumori/items/40cabf8c6f215f1241ff
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function ExecCmd([string]$strCmd)
{
$p = [System.Diagnostics.Process];
$pi = [System.Diagnostics.ProcessStartInfo];
$output = [string];
$pi = New-Object System.Diagnostics.ProcessStartInfo;
$pi.FileName = [System.Environment]::GetEnvironmentVariable("ComSpec");
$pi.Arguments = "/c " + $strCmd;
$pi.UseShellExecute = $false;
$pi.RedirectStandardOutput = $true;
#コマンドを実行し標準出力の内容を取得する
$p = [System.Diagnostics.Process]::Start($pi);
$output = $p.StandardOutput.ReadToEnd();
$p.WaitForExit();
return $output;
}
$output = [string[]];
$output = ExecCmd("tasklist");
Send-MailMessage -To "[email protected]" -From "[email protected]" -Subject "実行結果" -Body $output -SmtpServer example.com -Encoding ([System.Text.Encoding]::UTF8)
htp : // bg. 아오오오 r. jp / 헨타이가 / 아 r ゔ ぇ s / 51615192. HTML
htps : // 코 m / 아라 짱 @ b / / ms / 93c2 fu c8 fu 5f7f66b fu
htps : // 이 m / n 후지타 55 A / MS / 73 A 1fc870Cb85df2
htps : // 코 m / 타르 치치 / ms / 3d2 0b5b0b7b04963750
Reference
이 문제에 관하여(명령줄 응용 프로그램을 실행하여 결과를 이메일로 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tfukumori/items/40cabf8c6f215f1241ff텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)