2016-06-20 6 views
2

이메일의 본문을 구문 분석하여 각 이메일에서 표의 내용을 가져와야합니다. PowerShell을 사용하여이 작업을 수행하고 싶습니다. 이 코드 시도 :msg (이메일) 파일의 본문을 파싱하십시오.

Get-ChildItem "C:\Users\mmartindale.NTSERVER\Desktop\delreg temp\msg" -Filter *.msg | 
    ForEach-Object { 
     $outlook = New-Object -comobject outlook.application 
     $msg = $outlook.Session.OpenSharedItem($_.FullName) 
     $msg | Select body | ft -AutoSize 
    } 

을하지만 내가 가진 전부는이 같은 축약 된 출력 :

Body 
---- 
This is approved for Deal Reg...

어떻게 객체로이 I 출력을 할 것을 내가 할 수있는 루프를?

+3

안녕하세요,'$의 MSG를 대체하려고 | '$ msg |를 사용하여 body | ft -AutoSize'를 선택하십시오. -expand body'를 선택 하시겠습니까? – sodawillow

답변

1

Select-Object-ExpandProperty 매개 변수를 사용하여 원하는 속성을 확장 할 수 있습니다.

으로 지역 :

$msg | Select-Object -ExpandProperty Body 
+0

$ msg가 열리고 난 후 $ msg를 닫는 방법을 알고 있다면 정말 관심이 있습니다. 스크립트는 전자 메일 본문 1 시간을 구문 분석하지만 이후에는 이미 열려있는 메시지에 대해 불만을 제기합니다. – Brandon

+0

@Brandon 몇 가지 테스트를하겠습니다. 왜 여러 번 구문 분석해야합니까? 클라이언트와 관련하여 이러한 종류의 문제가 있었으며 Outlook (보안 센터)의 일부 보안 설정과 관련이 있다고 생각합니다. – sodawillow

+0

@Brandon 당신이 사용하는 코드로 새로운 질문을 열어주세요. 나는 "두번 구문 분석"한다는 의미를 모르며, 주석으로 처리해서는 안됩니다 :). – sodawillow

관련 문제