0
私はこの方法で迷惑メールを空にしようとしました。それは、電子メールの読み取りのみをマークしますが、フォルダは空にしません。PowerShell - 空の迷惑メール
Add-Type -assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -comobject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")
$junk = $namespace.GetDefaultFolder(23)
$junk.Items | %{$_.Unread = $false} | %{$_.Delete()}
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Outlook)
Remove-Variable Outlook
私は、以前のExchange Webサービスを使用し、私でしたが、コードがエレガントではありません。
$junk.Empty([Microsoft.Exchange.WebServices.Data.DeleteMode]::HardDelete, $true)
はEDIT:
私は部分的にこの
$junk | ForEach-Object {$_.Delete()}
を削除することができますこれは、一度にいくつかの電子メールだけを削除してから、削除済みアイテムに移動することを意味します。私は彼らがただ空にされたことを望む。
私はforeachを使用したくありません。 – skrubber
あなたは上記のものを使用していますか? –
私が混乱したらすみません。 Add-Type -assembly "Microsoft.Office.Interop.Outlook" $ Outlook =新しいオブジェクト - オブジェクトOutlook.Application $ namespace = $ Outlook.GetNameSpace( "MAPI" ) $ junk = $ namespace.GetDefaultFolder(23) $ junk.Items | %{$ _。未読= $ false} | %{$ _。Delete()} [System.Runtime.Interopservices.Marshal] :: ReleaseComObject($ Outlook) Remove-Variable Outlook' – skrubber