Compactação em massa de 700GB de arquivos PST?

5

Estou trabalhando em uma migração de arquivamento, na qual estou extraindo e-mails de 700 GB de arquivos PST e enviando-os para um arquivo de e-mail. Depois que uma mensagem foi extraída, ela é excluída do arquivo PST usando um utilitário personalizado.

No entanto, isso me deixa com 700GB de arquivos PST vazios.

Por motivos de conformidade, preciso reter as mensagens que não puderam ser extraídas e preciso recuperar espaço em disco também.

Existe uma maneira de compactar em massa os arquivos PST? Não consigo encontrar software on-line muito útil para fazer isso.

Se eu pegar um arquivo PST de 500MB e zipar, ficarei com um arquivo de 230MB. No entanto, se eu usar o Outlook 2007 para compactá-lo, ficarei com um PST de 15 MB.

Alguém tem alguma idéia sobre como compactar milhares de arquivos PST? Eu não estou procurando uma solução como o CompressPST, que remove anexos e outros enfeites, pois os arquivos estão 99% vazios.

Não consegui encontrar nenhuma linha de comando para o Outlook.

    
por beeks 06.11.2014 / 17:10

2 respostas

3

OK, eu consegui isso usando SmartPST (freeware) e AutoIT (Freeware.)

Com o SmartPST, posso adicionar arquivos PST em massa ao meu perfil do Outlook. Arraste e solte.

E o seguinte script AutoIT desenterrado é iterado por meio de cada um e compacta. Execute-o em uma VM para não evitar que seu trabalho atual seja evitado.

Isso acabou sendo o melhor que eu poderia pedir. A arrastar e soltar, clique em solução. :) Automação de TI não fica melhor que isso.

#include <GUIListView.au3>
SplashTextOn("Compacting now", "This may take hours...", 250, 40)
;//Runs the mail application that is in control panel.
$Path = FileGetShortName(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls", "mlcfg32.cpl"))
Run(@SystemDir & "\control.exe " & $Path)
Opt("WinTitleMatchMode", 4)
WinWait("Mail Setup - Outlook", "Setup e-mail accounts and dire")
ControlClick("Mail Setup - Outlook", "Setup e-mail accounts and dire", "Button2")
WinWait("Account Settings", "AcctMgr Tab")
;//Gets list of data files listed
$sTitle = "Account Settings"
$hWnd = WinGetHandle($sTitle)
If @error Then
 MsgBox(0, "Error", "Unable to find window")
EndIf
WinActivate($hWnd)
$hlist = ControlGetHandle($hWnd, "", "[CLASS:SysListView32; INSTANCE:2]")
If @error Then Exit
$arraycount = _GUICtrlListView_GetItemCount($hlist)
Local $ltext[$arraycount]
$i = 0
Do
 $ltext[$i] = _GUICtrlListView_GetItemText($hlist, $i)
 $i = $i + 1
Until $i = $arraycount
;//Goes into each listed Data file and compresses them
$b = 0
Do
 _GUICtrlListView_ClickItem($hlist, $b, "left", False, 2)
 Sleep(1000)
 WinWaitActive("Outlook Data File")
 ControlClick("Outlook Data File", "", "[CLASS:Button; INSTANCE:2]") ; click Compact Now
 Sleep(1200)
 If WinExists("Compact Now") Then WinWaitClose("Compact Now")
 WinClose("Outlook Data File")
 $b = $b + 1
Until $b = $arraycount
WinClose("Outlook Data Files")
WinClose("Account Settings")
WinClose("Mail Setup - Outlook")
SplashOff()
MsgBox(64, "Outlook", "All accounts were processed." & @CRLF & "Closing in 5 seconds...", 5)
Exit
    
por 06.11.2014 / 18:02
0

Obrigado Beeks, isso funcionou muito bem para mim depois de um pequeno ajuste.

No meu PC com Windows 8.1 executando o Office 2013, as duas linhas a seguir não funcionaram para abrir o painel de controle do Mail porque a chave do Registro não existia.

$Path = FileGetShortName(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current>Version\Control Panel\Cpls", "mlcfg32.cpl"))
Run(@SystemDir & "\control.exe " & $Path)

Descobri que eu poderia abrir o painel de controle do Mail sem ter que mexer com o registro usando um script do PowerShell para abrir primeiro o painel de controle do Mail e depois chamar um script AutoIT para fazer o resto:

# Open Mail control panel

Show-ControlPanelItem Mail*

# Call script to compact all Outlook PST files, waiting for the script to
# complete before moving on to the next step in the PowerShell script.

Start-Process "C:\Users\XXX\Documents\Compact all PST files.au3" -Wait
    
por 01.11.2015 / 20:31