使用PowerShell从IIS导出证书

dhe*_*dry 4 iis powershell

如何使用PowerShell 从IIS 7 导出自签名证书?

And*_*huk 9

dir cert:\localmachine\my | Where-Object { $_.hasPrivateKey } |   Foreach-Object { [system.IO.file]::WriteAllBytes("c:\$($_.Subject).pfx",     ($_.Export('PFX', 'secret')) ) }
Run Code Online (Sandbox Code Playgroud)

来源:使用私钥导出证书

这会将所有证书导出到C:\.

您可以通过运行来检查您拥有的证书:

dir cert:\localmachine\my
Run Code Online (Sandbox Code Playgroud)

  • 发现以下内容将起作用 - 感谢您的帮助dir证书:\ localmachine\my | Where-Object {$ _.hasPrivateKey} | Foreach-Object {[system.IO.file] :: WriteAllBytes("c:\ shared\test\$($ _.Subject).cer",($ _.Export('CERT','secret'))) } (2认同)

小智 7

值得注意的是,当我尝试导出我的根证书时,由于 unicode 中的外语字符无效,我不得不使用 Thumbprint 作为文件名,而不是 Subject。这有效:

dir cert:\localmachine\root |
Foreach-Object { [system.IO.file]::WriteAllBytes("c:\temp\$($_.Thumbprint).cer",     ($_.Export('CERT', 'secret')) ) }
Run Code Online (Sandbox Code Playgroud)