Відповіді:
Спробуйте це:
Вищезазначене не працювало для Outlook 2007. Наступне:
Знову в Outlook 2013 це змінилося:
Я мав успіх у цьому методі:
Це було в Outlook 2010.
Якщо ви перебуваєте в Office 2007 Outlook, це має працювати. Перейдіть до Інструменти. Клацніть на Очищення поштової скриньки. Потім натисніть на Перегляд розміру скриньки. Ви отримаєте список усіх своїх папок, і якщо ви працюєте в ньому, вам слід знайти відсутню - можливо, десь зовсім несподівану!
Microsoft не надала інструментів, тому я написав його. Безкоштовно, тут не доступний улов:
ось сценарій, який я написав, який я написав, він дозволяє шукати ім'я папки або перелічити повне дерево папок. Використання:
без параметра він відображатиме всі папки
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()
Якщо у вас є доступ до повноважень на сервері обміну, ви можете запустити такий сценарій, щоб скинути всі папки в обмінній системі (люб’язно https://blogs.msdn.microsoft.com/deva/2012/05/10/exchange- powershell - як отримати список списку поштових скриньок-папок-підпапок-елементів-у-папці-папках-програмно / ):
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, які можна легко відкрити в електронній таблиці та шукати.