많은 파일을 반복하여 파일 정보를 콘솔에 기록하는 PowerShell 스크립트가 있습니다. 화면에 출력되는 내용은 이메일을 통해 전송해야하는 것입니다.Powershell 스크립트의 모든 출력을 전자 메일로 보내기
전자 메일 부분은 쉬웠지만 화면으로 전송되는 내용을 캡처하여 본문으로 보내는 방법을 알 수 없습니다. 다음은 관련 코드입니다. 첫 번째 반복 만 $ emailbody 변수에 저장됩니다.
EDITED 예 :
$backupLocations = #List of paths#
$emailBody=""
$currentFile = "nothing"
foreach ($loc in $backupLocations) {
$files = get-childitem "$loc\\*" -recurse -include *.bak
foreach ($file in $files) {
if (test-path $file) {
$prop = Get-ItemProperty -Path "$file"
Write-Output $prop | tee-Object -variable $currentFile
$emailBody += $currentFile
}
}
}
# Code to send $emailBody in an email. That is working fine.#
은 내가 화면에 표시되는 것은 이와 같은 파일 정보의 가치 페이지입니다 :
틀림Directory: \\directory\directory\directory\myfolder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 5/10/2011 10:00 PM 1986048 file.bak
나는 RTFM하지 않은 기본적를 통해 내 방식대로 해킹 이 시점에서 Powershell, 그래서 제발 대답이 분명한 경우 용서해주십시오.
몇 가지 기본적인 질문 : 그 기능은 무엇입니까? 또는 스크립트의 일부분일까요? 'if ($ file)'로 무엇을 검사하고 있습니까? –
@empo, 감사합니다. 나머지 코드를 추가했습니다. 나는 $ file이 존재하는지 테스트하고 있었으며'test-path' 커맨드 렛을 사용하면 더 잘 수행됩니다. –
@Ken Pespisa : 괜찮습니까? 아니면 여전히 곤란한가요? –