जवाबों:
इसे इस्तेमाल करे:
आउटलुक 2007 के लिए ऊपर काम नहीं किया। निम्नलिखित चाहिए:
Outlook 2013 में फिर से यह बदल गया है:
मुझे इस विधि से सफलता मिली है:
यह आउटलुक 2010 में था।
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- के सौजन्य से) Powerhell-how-to-get-list-of-मेलबॉक्सों-फ़ोल्डरों-सबफ़ोल्डर्स-आइटम-इन-फ़ोल्डर-फ़ोल्डर्स-प्रोग्रामेटिक / ):
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 फ़ाइलें बनाती हैं जिन्हें एक स्प्रेडशीट में आसानी से खोला और खोजा जा सकता है।