2016-03-23 14 views
2

Şu anda kullanımda olan Outlook PST dosyalarının tüm yollarını toplamaya çalışıyorum.Outlook PST dosyaları kullanımda olan

$Outlook = New-Object -ComObject outlook.application 
$Namespace = $Outlook.GetNamespace("MAPI") 
$Namespace.Stores 
#or 
$Namespace.Session.Stores 

Bunu deneyin Her zaman aşağıdaki hata iletisi olsun: Burada bariz

An error occurred while enumerating through a collection: Exception from HRESULT: 0xEF640111. 

ben eksik bir şey internette bulabilirsiniz kadarıyla Aşağıdaki kod bunu gerekiyordu?

+0

Outlook kodunuzun çalıştırıldığı sırada çalışıyor mu? –

+0

Evet öyle. Hatta bu eylemi – DarkLite1

cevap

0

sorun olarak görünmektedir deneyin. Örneğin, bir VPN'nin arkasında otomatik olarak eşlenmeyen sürücü harfleri nedeniyle.

Bu durumda MS Outlook, PST'yi bile açamıyor ve GUI'de PST dosyasına tıkladığınızda da bir hata atıyor.

-1

Bir VPN behing ve PST dosya yolları yerlerden biri ulaşılamazsa zaman

$outlook = New-Object -comObject Outlook.Application 
$outlook.Session.Stores | where { ($_.FilePath -like '*.PST') } | format-table DisplayName, FilePath -autosize 
0

Sen (bunlar kayıt profil bölümleri depolanır) kayıt defterinden PST yolları alabilirsiniz: Bir test http://www.dimastr.com/redemption/profman_examples.htm#example2

, aşağıdaki (Redemption) komut dosyası (VB) çalıştırabilir?

skPstAnsi = 1 
    skPstUnicode = 2 
    set Session = CreateObject("Redemption.RDOSession") 
    Session.Logon 
    for each Store in Session.Stores 
    if (Store.StoreKind = skPstAnsi) or (Store.StoreKind = skPstUnicode) Then 
     Debug.Print Store.PstPath 
    End If 
    next 
+0

Thx'e izin veren küçük pop-up'ları bile görebiliyorum ama sadece PowerShell kodunu arıyorum. Bunun üzerine, bu sadece eşlenen PST dosyaları hakkında rapor mu? – DarkLite1

+0

Verileri Outlook'ta profil bölümünde ayrıştırmayı deneyebilirsiniz, ancak bunun için örnek kodum yok. –

İlgili konular