Yanıtlar:
Bunu dene:
Yukarıdakiler Outlook 2007 için çalışmadı. Aşağıdakiler gerekir:
Yine Outlook 2013'te bu değişti:
Bu yöntemle başarılı oldum:
Bu Outlook 2010'daydı.
Office 2007 Outlook'taysanız, bunun çalışması gerekir. Araçlar'a gidin. Posta Kutusu Temizleme seçeneğine tıklayın. Ardından Posta Kutusu Boyutunu Görüntüle'yi tıklayın. Tüm klasörlerinizin bir listesini alacaksınız ve eğer aşağı çalışırsanız, eksik olanı bulmalısınız - belki de beklenmedik bir yerde!
Microsoft araçları sağlamadığından bir tane yazdım. Burada hiçbir yakalama olmadan ücretsiz:
İşte yazdığım bir powershell betiği, bir klasör adı aramaya veya tüm klasörler ağacını listelemeye izin veriyor. Kullanımı:
parametre olmadan tüm klasörleri görüntüler
PS>.\get-MailboxFolders.ps1
└@conserver
└_Licences, codes etc.
└2 Clic
└Axter Ltd
└Chili
└Pérou
bir parametre iletirseniz, o terimi içeren klasör adını arayacak ve yolu verecektir
PS>.\get-MailboxFolders.ps1 201
The term *201* was found in :
\\mailbox@domain.com\2015
\\mailbox@domain.com\archivage\2010
\\mailbox@domain.com\archivage\2011
posta kutusu parametresini kullanarak belirli bir hesapta arama yapabilirsiniz
PS>.\get-MailboxFolders.ps1 -mailbox "infor"
Account selected = ENT, Service Informatique
└Archives
└Boîte de réception
İşte senaryo:
<#
.Synopsis
search outlook folders or display the folders tree
.Description
This script uses the outlook COM object.
.Parameter folder
Part of the folder's name to search for. If this parameter is not set the script will output
the complete folders tree
#>
[CmdletBinding()]
param(
[Parameter(Position=0, Mandatory=$false,ValueFromPipeline = $true)]
[System.String]
$folder=$null,
[Parameter(Position=1, Mandatory=$false)]
[System.String]
$mailbox=$null
)
$output=""
$find=@()
function Get-MailboxFolder($folder,$prefix, $search=$null, $firstrun=$false){
if(($search -ne $null) -and ($folder.name -match $search)) {
$script:find+=$folder.folderpath # if foldername match search term add it to the result
}
if($firstrun -eq $true){$script:output=$script:output+"$prefix$($_.name)`n"} # top level directories
if ($folder.folders.count -gt 0 ){ # If there are subfolders
if($firstrun -eq $false){
$script:output=$script:output+"$prefix$($folder.name)`n"
}
$prefix=" "+$prefix # preffix padding
$folder.folders |sort -property name| %{ get-MailboxFolder $_ $prefix $search} #recursivity
}
# No subfolder
if($folder.folders.count -eq 0 -and $firstrun -eq $false){$script:output=$script:output+"$prefix$($folder.name)`n"}
}
# Start outlook
$o=New-Object -ComObject outlook.application
$ns=$o.GetNamespace("MAPI")
if($mailbox -ne $null){
$bal=$ns.Folders |?{$_.name -match $mailbox}
}
else{
$bal=$ns.Folders.Item(1) # select the default mail account // you can let $bal=$ns.Folders to search through all accounts
}
write-host "Account selected = $($bal.name)"
$prefix="└"
$i=1
$bal.folders|sort -property name |%{
$percent=$i*100/($bal.folders.count)
write-progress -activity "Searching, please wait" -currentoperation "$($_.name)" -percentcomplete $percent
get-MailboxFolder $_ $prefix $folder $true
$i++
}
if(($folder -ne $null) -and ($folder -ne "")){ # are we searching ?
if ($find.count -eq 0){write-host "No folder *$folder* could be found"}
else{write-host "The term *$folder* was found in : ";$find}
}
else{$script:output} # display tree
$o.quit()
Değişim sunucusundaki powershell'e erişiminiz varsa, değişim sistemindeki tüm klasörleri boşaltmak için aşağıdaki komut dosyasını çalıştırabilirsiniz ( https://blogs.msdn.microsoft.com/deva/2012/05/10/exchange- powershell-nasıl-alınır-posta-listesi-listesi-alt klasörleri-klasör-öğeleri-klasörleri-klasör-programatik olarak / ):
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.* -erroraction SilentlyContinue
$saveto = $env:USERPROFILE + "\\OutlookFolderList.csv"
Get-Mailbox | Select-Object alias | foreach-object {Get-MailboxFolderStatistics -Identity $_.alias | select-object Identity, ItemsInFolder, FolderSize} | Export-csv $saveto -NoTypeInformation
Belirli bir kullanıcı için bilgi istiyorsanız, aşağıdaki gibi bir şey kullanabilirsiniz:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.* -erroraction SilentlyContinue
$who = $args[0]
$saveto = $env:USERPROFILE + "\\OutlookFolderListFor$who.csv"
Get-MailboxFolderStatistics -Identity $who | select-object Identity, ItemsInFolder, FolderSize | Export-csv $saveto -NoTypeInformation
Bu yöntemler, bir e-tabloda kolayca açılabilen ve aranabilen CSV dosyaları oluşturur.