[string]$DllPath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" [string]$Mailbox = "groupmail@example.com" [string]$Password = "CS%Outlook2020" [string]$Domain = "schulenburg" [string]$EWSURL = "https://outlook.office365.com/EWS/Exchange.asmx" [string]$DownloadPath = "C:\Temp\Attachments" [string]$Folder = "Inbox" Import-Module -Name $DllPath $ExchangeService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2007_SP1) $ExchangeService.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($Mailbox,$Password,$Domain) $ExchangeService.Url = $EwsURL $offset = 0 Do { $ItemView = New-Object Microsoft.Exchange.WebServices.Data.ItemView(1000, $offset) $ItemView.PropertySet = New-Object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties) $Items = $ExchangeService.FindItems([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]:: $Folder,$ItemView) $Items foreach ($Item in $Items) { If ($Item.HasAttachments -eq $true) { Write-Host "Subject: $($Item.Subject)" -ForegroundColor cyan $PropertySet = New-Object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange. WebServices.Data.ItemSchema]::Attachments) $Message = [Microsoft.Exchange.WebServices.Data.EmailMessage]::Bind($ExchangeService, $Item.Id,$PropertySet) Foreach ($Attachment in $Message.Attachments) { $AttachmentName = $Attachment.Name If ($AttachmentName -match ".pdf") { $AttachmentName $Attachment.Load("$DownloadPath\$AttachmentName") } } } } $offset = $offset + 1000 } while($Items.MoreAvailable)