我正在自动化一个过程,但有一个限制,我只能使用 Windows Server(2012 是基础,但我不确定 2008 是否会在某个地方出现)本机工具。我需要获取一个密钥对(certificate.pem 和 certificate_key.pem)并将其转换为 PFX 包以用于 IIS。我知道我可以使用,certutil -MergePFX input_certificate output_certificate
但这取决于用户交互。我尝试使用certutil -p '' -MergePFX [...]
但没有成功,certutil 抛出几个错误,原因是参数数量错误。有没有办法在不进行交互的情况下运行它?我是否错过了其他可以执行相同操作的 Windows 本机工具?
发出命令的机器运行的是python+pyWinRM,发送到远程执行的脚本都是powershell。
答案1
您正在使用带有 Python 的 Windows 可执行文件,因此这不是 PowerShell 问题,即使您在 PowerShell 控制台主机或 ISE/VSCode 中运行它。
这具体是一个“我如何用 Y 做 X?”的问题。
PowerShell 无法取代或颠覆可执行文件的要求。如果您指定参数,则必须提供一个值。如果值不能为空,则必须提供一个值。
您使用的是 -p,即密码参数。尝试删除该参数/选项/步骤或删除该部分代码可以解决您的问题。