Ответы:
Попробуй это:
Вышеуказанное не работает для Outlook 2007. Следующее должно:
Снова в Outlook 2013 это изменилось:
У меня был успех с этим методом:
Это было в Outlook 2010.
Если вы находитесь в Office 2007 Outlook, это должно работать. Перейти в Инструменты. Нажмите на Очистка почтового ящика. Затем нажмите «Просмотреть размер почтового ящика». Вы получите список всех своих папок, и если вы поработаете с ним, вы должны найти недостающую - возможно, где-то совершенно неожиданное!
Microsoft не предоставила инструменты, поэтому я написал один. Бесплатно без улова, доступного здесь:
вот сценарий powershell, который я написал, он позволяет искать имя папки или выводить полное дерево папок. Использование :
без параметра будут отображаться все папки
PS>.\get-MailboxFolders.ps1
└@conserver
└_Licences, codes etc.
└2 Clic
└Axter Ltd
└Chili
└Pérou
если вы передадите параметр, он будет искать имя папки, содержащей этот термин, и выводит путь
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
Вы можете искать конкретную учетную запись, используя параметр почтового ящика
PS>.\get-MailboxFolders.ps1 -mailbox "infor"
Account selected = ENT, Service Informatique
└Archives
└Boîte de réception
вот сценарий:
<#
.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()
Если у вас есть доступ к powershell на сервере Exchange, вы можете запустить следующий сценарий, чтобы сбросить все папки в системе Exchange (любезно предоставлено https://blogs.msdn.microsoft.com/deva/2012/05/10/exchange- powershell-how-to-get-list-of-mailboxes-folder-subfolders-items-in-folder-folderize-программно / ):
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
Если вам нужна информация для конкретного пользователя, вы можете использовать что-то вроде этого:
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
Эти методы создают файлы CSV, которые можно легко открыть в электронной таблице и выполнить поиск.