我正在尝试构建可以更新过期证书的工具,并且我正在调用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'}
我认为是因为我需要接受来自证书颁发机构的提示,并且该提示不会显示。
该脚本在执行时适用于localy:
certreq -f -attrib "CertificateTemplate:WebServer" -submit D:\cert\certreq.csr D:\cert\request.cer
你有什么想法吗?
我已经尝试过psexec,但那也没有用。 :S
答案 0 :(得分:1)
来自the certreq.exe
documentation:
-q Use silent mode; suppress all interactive prompts.