2016-06-17 17 views
1

私はすべてのパスワードが同じである多くのパワーポイントを開いて保存しようとしています。私はすでにこれを行っていますが、明確ではない唯一の点は、プレゼンテーションを通してパスワード変数を渡すことに関するオンライン情報をオンラインで見つけることができなかったことです。私はときPowershell ISE v5 Presentations.Openメソッドパスワード保護

の$ passwdのを渡すために、私はpresentation.openのパラメータを設定するかどうかはわかりませんWorkBooks.open

とスクリプトは、この」

add-type -AssemblyName microsoft.VisualBasic 
add-type -AssemblyName System.Windows.Forms 


$passwd = Read-Host("Type in the password:") 
$objPP = new-object -comobject powerpoint.application 
$objPP.visible = [Microsoft.Office.Core.MsoTriState]::msoTrue 

#Paste in Path to Powerpoints 
dir C:\Users\me\Desktop\cracking\*.pptx | ForEach-Object { 


$doc = $objPP.presentations.open($_.FullName) 

} 

のように見えることを行うことができました?

$doc = $objExcel.WorkBooks.Open($_.FullName,1,$false,5,"$passwd","$passwd") 

パワーポイントでこれを行う方法はあり

:私は、これはExcelと、それは基本的に、このように見えました

パスワードボックスに集中する方法があるので、SENDKEYを使用できますか? これもうまくいくかもしれませんし、私はPDFでこれを行うためにそのルートに行くように試みるかもしれません。

私が気づいた問題は、パスワードボックスを入力すると、パスワードを入力するまでスクリプトが続行されなくなることです。私はパスワードボックスにSENDKEYsすることはできません。

ありがとうございました。

+0

'Get-Credential'は' Read-Host'より安全ですので – user4317867

答えて

0

あなたは、パスワードを知っていると仮定すると、VBAでのパスワードで保護されたプレゼンテーションを開くための構文は次のとおりです。

Presentations.Open("c:\temp\open.pptx::password::") 

IIRC、エラーなしの結果あなたは非パスワード設定ファイルにパスワードを使用する場合、間違ったパスワードを渡すとトラップ可能なエラーが発生するので、たとえパスワードがわからなくてもパスワードで保護されたファイルをテストするために使うことができます...偽のパスワードを渡してエラーをテストします。

関連する問題