2016-09-29 52 views
0

寫了這個powershell腳本來嘗試簽署一個jar文件。建立正確的命令後,它基本上是這樣的:爲什麼我的Powershell腳本簽名不正確的jar?

$command = "jarsigner -storetype pkcs12 -keystore $certToUse -signedjar $nameOfSignedJar $nameOfJarToSign $defaultAlias" 
Write-Output $command 
Invoke-Expression $command 

寫入輸出線打印出:

jarsigner -storetype pkcs12 -keystore MyCertificate.p12 -signedjar signed_sample.jar sample.jar "this is my test alias, inc.'s comodo ca limited id" 

然而,當調用,表達運行時,它基本上只是掛起並沒有什麼事情發生。如果我在PowerShell中運行這個確切的命令,系統會提示輸入密碼,然後對我的JAR文件進行簽名。

我在做什麼錯了,我該如何做到這一點,以便當它詢問我的密碼,然後我可以通過相同的腳本傳入它?

在此先感謝。

回答

0

可能是在你的$默認別名轉義報價的問題:

$defaultalias = "`"this is my test alias, inc.`'s comodo ca limited id`"" 
+0

您給出的示例在PowerShell ISE中給我一個錯誤。 我逃避採用雙單引號,像這樣的單引號: $ defaultAlias =「‘這是我的測試別名,INC「的科摩多CA有限ID’」 – dalvacoder

+0

什麼錯誤沒有給出? – BenH

+0

表達式或語句中的意外標記's'。編輯器將其標記爲錯誤。 – dalvacoder

0

顯然,問題在於使用PowerShell ISE。通過PowerShell直接運行腳本工作得很好。

相關問題