首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用certreq从企业CA请求证书时抑制弹出窗口?

如何在使用certreq从企业CA请求证书时抑制弹出窗口?
EN

Stack Overflow用户
提问于 2019-05-07 00:34:50
回答 3查看 1.7K关注 0票数 1

我试图从与我们的企业CA服务器位于同一域中的计算机请求一个证书。一切都很好,但我离让我的脚本实现零用户交互只有一步之遥。

我基本上修改了以下脚本,使其不包含任何参数,并删除了SAN选项:

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

在以下命令从.inf文件创建新请求后,我将得到一个弹出窗口:

代码语言:javascript
复制
Invoke-Expression -Command "certreq -new `"$inf`" `"$req`""

Machine context template conflicts with user context.

当我单击OK时,一切都很好。创建一个新请求,脚本的其余部分工作正常。但是,我无法找到一种方法来以编程方式单击"OK“。

certreq工具确实有-q (用于抑制交互提示)和-f (强制/绕开事物),但这些功能都没有。

使用certreq -new -q $inf $req-q-f的结果如下:

代码语言:javascript
复制
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)

我被困在这里了。任何帮助都将不胜感激!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-05-07 07:34:31

问题是模板是Computer,而不是User。这意味着请求应该在计算机帐户的上下文中创建。这意味着您必须以SYSTEMAdministrator或任何允许标识为计算机的其他帐户的身份运行脚本。

票数 1
EN

Stack Overflow用户

发布于 2021-01-15 11:03:13

你问题的答案应该是在请求中更改param -Certificate.ps1。查看inf文件以生成请求,并检查MachineKeySet param。默认值为false并提示:

代码语言:javascript
复制
Machine context template conflicts with user context.

当模板是类机器时使用。当您切换到真正的ale使用用户模板时,有相反的提示符:

代码语言:javascript
复制
User context template conflicts with machine context.
票数 1
EN

Stack Overflow用户

发布于 2022-05-23 08:34:14

对于来此阻止选择CA提示符的人员,请将-config <FQDN_OF_CA>\<LOGICAL_NAME_OF_CA>添加到CertReq命令中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56014035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档