Je travaille sur un projet qui implique la lecture de nombreux fichiers Outlook.pst.Suppression de la protection par mot de passe d'un fichier outlook .pst par programmation
Ces fichiers sont tous protégés par mot de passe mais j'ai le mot de passe en question. Le problème est que c'est processus très fastidieux ouverture de chaque fichier dans Outlook et entrez le mot de passe afin de lire les données.
Maintenant, je pense qu'il y a un moyen de créer un script qui ouvre automatiquement chaque fichier .pst pour moi, entre le mot de passe et enregistre à nouveau le fichier sans le mot de passe.
J'ai été googling autour et ne semble pas trouver de solution à mon problème, ressemble à l'interface outlook.application MAPI est mal documentée. Jusqu'à présent, je l'ai vu un script PowerShell faire avec une application Excel de technet
$comments = @'
Script name: Remove-Password.ps1
Created on: Tuesday, July 03, 2007
Author: Kent Finkle
Purpose: How can I use Windows Powershell to
Remove the Password When Opening an Excel Spreadsheet?
'@
#-----------------------------------------------------
function Release-Ref ($ref) {
([System.Runtime.InteropServices.Marshal]::ReleaseComObject(
[System.__ComObject]$ref) -gt 0)
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()
}
#-----------------------------------------------------
$xl = new-object -comobject excel.application
$xl.Visible = $True
$xl.DisplayAlerts = $False
$wb = $xl.Workbooks.Open("C:\Scripts\Test.xls",0,$False,1,"%reTG54w")
$wb.Password = ""
$a = $wb.SaveAs("C:\Scripts\Test.xls")
$a = Release-Ref($wb)
$a = Release-Ref($xl)
Peut-être que je pourrais appliquer à MAPI avec quelque chose de similaire à ce
$outlook = new-object -com outlook.application;
$ns = $outlook.GetNameSpace("MAPI");
$fSaveMe = $ns.GetDefaultFolder($olFolderInbox).Folders.Item("Save Me")
$fSaveMe.Items | foreach { [void]$_.Move($ns.Folders.Item("Legal")) }
Est-ce qu'il ya quelqu'un qui a eu un problème similaire? La solution potentielle ne doit pas être dans PowerShell, elle peut être en Python, Perl, Java, C# ou à peu près n'importe quoi tant que le travail est fait :)