多くのOutlook.pstファイルを読み取るプロジェクトに取り組んでいます。Outlookの.pstファイルからプログラムでパスワード保護を削除する
これらのファイルはすべてパスワードで保護されていますが、問題のパスワードがあります。問題は、Outlookの各ファイルを開いてデータを読み取るためにパスワードを入力するのは非常に退屈なプロセスだということです。
私はそれぞれの.pstファイルを自動的に開き、パスワードを入力してパスワードなしでファイルを再度保存するスクリプトを作成する方法があると思っています。
私は周りにグーグルで行っているし、私の問題の解決策を見つけるように見えない、MAPIのoutlook.applicationインターフェイスのように見えます。これまでのところ私はおそらく私がこの
$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")) }
に似た何かをMAPIにこれを適用することができPowerShellスクリプトが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)
からExcelアプリケーションでこれをやって見てきました持っていた誰もがあります同様の問題?潜在的な解決策は、PowerShellにする必要はありませんが、それはPython、Perl、Java、C#またはそれが仕事を終わらせる限り、何でもできます:)