Microsoft Outlook: Eksportuj listę aktualnie otwartych plików PST

3

W moim obecnym miejscu pracy aktualizujemy różnych użytkowników z XP do Windows 7. Często użytkownicy .pstotwierają od 10 do 30 plików w ramach instalacji Microsoft Outlook 2007. Ci użytkownicy są szczególnie bezradni bez tych plików.

Wiem, jak wyświetlić listę aktualnie otwartych plików PST i chciałbym wiedzieć, czy istnieje prosty sposób na przechwycenie tych informacji poza robieniem zrzutów ekranu okna Opcje -> Pliki danych.

Czy migwiz.exeprzekazujesz te informacje? Czy to jedyny sposób?

Czy zdarzy się, że istnieje narzędzie, które pozwoli ci przechwytywać i przywracać te informacje?

Nie chcę eksportować ani przenosić .pstsamych samych (tak, niektóre z nich znajdują się w lokalizacjach sieciowych, bardzo okropne, wiem ), po prostu otwórz je ponownie w nowej instalacji programu Outlook, która była otwierana w poprzedniej instalacji .

LawrenceC
źródło
mam teraz podobny problem, muszę przejść z '03 na '10. USMT nie migruje programu Outlook, musisz dowiedzieć się, jak automatycznie eksportować i importować zamontowane
pliki
1
Nie twórz nowych tagów, gdy nie jest to konieczne.
Daniel Beck
1
Mam vbscript, który jest w stanie to zrobić, czy to zrobi?
Peter
@Peter: Włącz.
LawrenceC
Czy nadal będziesz używać programu Outlook 2007 na nowym komputerze? Jeśli inny program Outlook 32-bitowy lub 64-bitowy? Będziesz w systemie Windows 7 32-bitowym lub Windows 7 64-bitowym?
niedz

Odpowiedzi:

2

Tutaj vbscript, który wyświetla PST w profilu użytkownika

set objOutlook = createObject("Outlook.Application")
set objMAPI = objOutlook.GetNamespace("MAPI")
for each PSTFolder In objMAPI.Folders
  pstPath = GetPath(PSTFolder.StoreID)
  if pstPath <> "" then
    wscript.echo PSTFolder.name & " : " & pstPath
  end if
next

function GetPath(input)
  for i = 1 To Len(input) Step 2
    strSubString = Mid(input,i,2)
    if Not strSubString = "00" Then
       strPath = strPath & ChrW("&H" & strSubString)
    end If
  next

  select Case True
  case InStr(strPath,":\") > 0
    GetPath = Mid(strPath,InStr(strPath,":\")-1)
  case InStr(strPath,"\\") > 0
    GetPath = Mid(strPath,InStr(strPath,"\\"))
  end Select
end Function
Piotr
źródło
Problem polega na tym, że znalazłem, jeśli użytkownik ma udostępnioną skrzynkę pocztową, do której nie ma uprawnień. W takim przypadku pod folderami nadal jest wpis, ale nie ma powiązanego identyfikatora StoreID, a skrypt wysadza się w linii: pstPath = GetPath (PSTFolder.StoreID)
Dave_J
To naprawdę bardzo zła sytuacja, moim zdaniem z perspektywą 2010 jest to, że się zamyka, a komputer zaczyna się czołgać, najlepiej jest uniknąć takiej sytuacji razem
Peter
0

Jeśli chcesz migrować profil programu Outlook na inny komputer, musisz wyeksportować i zaimportować drzewo rejestru .

Jeśli masz szansę, chcesz zobaczyć, jakie PST lub OST są obecnie używane na określonym komputerze, podczas gdy Outlook jest uruchomiony, możesz skorzystać z darmowego narzędzia obsługi SysInternals:

c:> handle -p outlook.exe | grep "pst \ | ost"

Spogląda na proces outlook.exe. grep wyciągnie tekst tylko z miejsca, w którym pasuje do pst lub ost.

PST to lokalny plik programu Outlook. OST to buforowany plik Exchage.

grep, którego używam, pochodzi z cygwina.

Słońce
źródło