通过 powershell 调用 certreq

invoking certreq via powershell

我正在尝试构建可以更新过期证书的工具,但我正在努力调用 certreq 命令:

这个正在工作:

Invoke-Command -ComputerName $Srvname -ScriptBlock {Set-Location -Path 'D:\'; $Out = cmd /c 2>&1 'certreq -q -f -new D:\cert\request_new.inf D:\cert\certreq.csr'}

但那个没有

Invoke-Command -ComputerName $Srvname -ScriptBlock {Set-Location -Path 'D:\'; $Out = cmd /c 2>&1 'certreq -f -attrib "CertificateTemplate:WebServer" -submit D:\cert\certreq.csr D:\cert\request.cer'}

我认为是因为我需要接受证书颁发机构的提示,但该提示没有显示。

脚本在本地运行:

certreq -f -attrib "CertificateTemplate:WebServer" -submit D:\cert\certreq.csr D:\cert\request.cer

你有什么想法吗?

我试过 psexec,但也没有用。 :S

来自the certreq.exe documentation

-q      Use silent mode; suppress all interactive prompts.