【发布时间】:2016-07-08 12:45:27
【问题描述】:
所以过去 2 小时我一直在研究/搜索,而我几乎快要流泪了……
我无法使用 New-SelfSignedCertificate,因为我使用的是 Windows 7。 我不能使用 makecert,因为它认为我有一个 .NET 4 的预发布版本,所以它不允许我安装适用于 Windows 7 的 SDK,但我没有。尝试安装 .NET 4 时告诉我我有一个新的或更好的版本。
我尝试了一个注册表黑客来解决这个问题,但不幸的是没有奏效。
我已经下载了 https://gallery.technet.microsoft.com/scriptcenter/Self-signed-certificate-5920a7c6#content
但似乎无法完成我实际签署脚本所需的所有步骤,以便我可以将其提供给其他人以安全使用。
我想我已经成功地创建了证书(虽然我不确定我是否做得对)。
据我所知,我现在需要对其应用密码或密钥,然后将其导出?我仍然不确定我是如何专门签署我的脚本的,因此其他人可以将其作为“已签名”执行。
谢谢大家。
如果有人知道我如何在 .exe 文件中获得相对 .ps1 路径,那么所有这些都可能是不必要的?
脚本作为 .ps1 可以正常工作,但是一旦我使用 PowerGUI 将其编译为 .exe,这些行就不起作用了。
. .\Import-XLS.ps1
$OutFile = ".\TEST$(get-date -Format dd-MM).txt"
$Content = Import-XLS '.\TEST.xlsx'
我反而得到了类似的东西 “术语 '.\Import-XLS.ps1' 不被识别为 cmdlet 的名称,以及对 Appdata\Local\Temp\QuestSoftware\PowerGUI\ 文件夹的一些引用。
所以我猜测 PowerGUI 正在做一些奇怪的事情,但我不知道如何将 .ps1 转换为 .exe。 根据对主要问题的回答,我可能会正式为 .exe 提交一个新问题。
谢谢大家。
【问题讨论】:
-
使用自签名证书签署脚本不会使脚本在未提供该特定证书的机器上“受信任”。
-
如果他们使用“Set-ExecutionPolicy RemoteSigned”,对吧?一些想要使用此脚本的人不喜欢将安全性降低到允许运行未签名的远程脚本的水平。
标签: powershell certificate key self-signed powergui