받은 편지함에있는 메일의 일부 속성을 읽으려면 EWS/Powershell을 통해 편지함을 순환하려고합니다. 이 기능은 대부분의 사서함에서 작동하지만 모든 사용자에게 해당되는 것은 아닙니다. 나는 결과를 통해 루프에 페이징을 사용하고 있습니다 :Powershell을 사용하는 EWS : "속성 값이 잘못되었습니다."
$moreItems=$true
$Offset=100
$pageSize=100
while($moreItems)
{
$itemView = new-object Microsoft.Exchange.WebServices.Data.ItemView($pageSize,$Offset,[Microsoft.Exchange.WebServices.Data.OffsetBasePoint]::Beginning)
...
$mails = $currentFolder.FindItems($itemView)
foreach($mail in $mails)
{
#add-contnet -path "output.txt" -value $mail.subject
}
$itemView.Offset += $mails.Items.Count
if ($mails.MoreAvailable -eq $false)
{
$MoreItems = $false
}
if ($MoreItems)
{
$Offset += $pageSize
}
}
나는이 일부 사서함에 대해 완벽하게 작동하고 말했듯이 - 일부는 예외로 실행됩니다. "속성은 잘못된 값이 있습니다"
가
이 오류는이 코드 라인에서 발생합니다
$mails = $currentFolder.FindItems($itemView)
당신이 볼 수 있듯이, 나는 txt 파일로 모든 메일의 제목을 쓰고 있어요. 페이지 크기 및 오프셋에 따라 출력 파일에 다소 많은 제목 (메일 항목)이 나열됩니다. 예 : 받은 편지함에 2000 개의 항목이 있다면 출력 파일에 1008 개의 항목이 나열 될 것입니다. pagesize를 1000으로 설정하면 1007과 같이 설정하면 1907이 나열됩니다. 어쨌든 나는 항상 예외를 얻는다 (그러나 다시, 몇몇 우편함에 대해서만).
아이디어가 더 있으십니까?
에게 ...이 일을 $ currentFolder 무엇인가? – Peter
이 링크를 확인하십시오. 도움이되는지 확실하지 않습니다. 그렇다면 스크립트에 문제가 없으면 PS가 작동하는 방식 일뿐입니다. http://social.technet.microsoft.com/Forums/exchange/en-US/86587dc9-b602-417c-9108-ba259cd1f4be/ews-getitem-request-fielduri-calendaruid-property-has-an-invalid-value – Peter