簡體   English   中英

如何在使用 certreq 向企業 CA 請求證書時抑制彈出窗口?

[英]How to suppress a popup window while using certreq to request a certificate from an enterprise CA?

我正在嘗試從與我們的企業 CA 服務器位於同一域中的機器請求證書。 一切正常,但我離讓我的腳本零用戶交互僅一步之遙。

我基本上修改了以下腳本以不包含參數並刪除了 SAN 選項:

https://gallery.technet.microsoft.com/scriptcenter/Request-certificates-from-b6a07151

在以下命令從 .inf 文件創建新請求后,我得到一個彈出窗口:

Invoke-Expression -Command "certreq -new `"$inf`" `"$req`""

Machine context template conflicts with user context.

當我單擊“確定”時,一切正常。 一個新的請求被創建,腳本的其余部分工作正常。 但是我找不到以編程方式單擊“確定”的方法。

certreq 工具確實有-q (抑制交互式提示)和-f (強制/繞過事物),但這些都不起作用。

certreq -new -q $inf $req OR 使用-q-f結果:

Active Directory Enrollment Policy
  {<GUID>}
  ldap:
Machine context template conflicts with user context.
Certificate Request Processor: The specified role was not configured for the application 0x8004e00c (-2147164148 CONTEXT_E_ROLENOTFOUND)

我幾乎被困在這里。 任何幫助,將不勝感激!

問題是模板屬於Computer而不是User 這意味着應該在計算機帳戶的上下文中創建請求。 這意味着您必須以SYSTEMAdministrator或任何其他允許識別為計算機的帳戶運行腳本。

您的問題的答案應該是更改 Request-Certificate.ps1 中的參數。 查看用於生成請求的 inf 文件並檢查MachineKeySet參數。 默認為 false 並提示:

Machine context template conflicts with user context.

當模板是一種機器時應用。 當您將其切換為 true ale use User 模板時,會出現相反的提示:

User context template conflicts with machine context.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM