이메일 본문에서 링크를 추출하고 해당 링크에 첨부 파일을 저장하려고합니다.링크 추출 및 첨부 파일 저장 - PowerShell
$Folder = "InBox"
Add-Type -AssemblyName microsoft.office.interop.outlook
$Outlook = New-Object -ComObject Outlook.Application
$Namespace = $Outlook.GetNameSpace("MAPI")
$Email = $NameSpace.Folders.Item(1).Folders.Item($Folder).Items
$extracts = $Email | Where-Object {$_.subject -match "PITM*"}
$extracts | ForEach-Object {
$email = $_.Body
#$lines = $email | Measure-Object -Line
if($email -match '<(.*?)>'){
"Match Found"
$url = $matches[1]
}
$url
$output = "H:\foo.DAT"
$Process = new-Object System.Diagnostics.Process
$Process.StartInfo.WindowStyle="Hidden"
$Process.StartInfo.FileName="chrome.exe"
$Process.StartInfo.Arguments=$url
$Process.Start()
}
$Process.Dispose()
이메일 본문은 다음과 같습니다
번호 : PITM0008575를 https://a.com/nav_to.do?uri=foo%3Fsys_id=58689b056f90a60002da186e6b3ee484%26sysparm_stack=u_production_item_list.do%3Fsysparm_query=active=true
요청 기한 :
성취 날짜 :
완료 날짜 :
개첨부 : 보고서에 foo.txt 여기 https://a.com/sys_attachment.do?sys_id=829893456f90a60002da186e6b3ee402
는 두 가지 문제입니다 제가했습니다 :
- 스크립트는 두 번째 링크를 잡아 당겨되지 않습니다.
- 링크를 여는 결과 인 첨부 파일을 저장할 수 없습니다.
도와주세요.
안녕하세요, '$ matches'을 (를) 확인하셨습니까? 링크가 가리키는 파일을 다운로드하고 싶다면 Chrome이 가장 좋은 선택인지 확신 할 수 없습니다 (IE 자동화 또는 'Invoke-WebRequest'). – sodawillow
예, [0]과 (와) 일치하는 링크는 <> 내에 있고 [1]과 (와) 일치하지 않습니다. 성냥 [2]이 비어 있습니다. 나는 IE를 사용했지만 IE 엔진을 사용할 수 없거나 구성되지 않았다는 오류를 던졌습니다 (둘 다 유효하지 않습니다). 그래서 크롬을 사용했습니다. – skrubber