Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 通过GPO配置Ansible Winrm HTTPS侦听器_Powershell_Ssl_Ansible_Gpo - Fatal编程技术网

Powershell 通过GPO配置Ansible Winrm HTTPS侦听器

Powershell 通过GPO配置Ansible Winrm HTTPS侦听器,powershell,ssl,ansible,gpo,Powershell,Ssl,Ansible,Gpo,我不熟悉组策略,在域计算机上自动创建https winrm侦听器时遇到问题 目标:通过gpo通过分布式ad cs ssl证书自动创建Windows Winrm https侦听器 当前: 阅读以下内容以根据ansible文档设置https winrm侦听器: SSL证书正在按预期从AD证书服务部署 证书从设置为自动注册的计算机证书模板复制 我已配置脚本签名,脚本已签名 另一个gpo正在将执行策略设置为远程签名 我有一个正在工作的powershell脚本(gpo之外),该脚本已放置在DFS共享上(

我不熟悉组策略,在域计算机上自动创建https winrm侦听器时遇到问题

目标:通过gpo通过分布式ad cs ssl证书自动创建Windows Winrm https侦听器

当前:

  • 阅读以下内容以根据ansible文档设置https winrm侦听器:

  • SSL证书正在按预期从AD证书服务部署

  • 证书从设置为自动注册的计算机证书模板复制

  • 我已配置脚本签名,脚本已签名

  • 另一个gpo正在将执行策略设置为远程签名

  • 我有一个正在工作的powershell脚本(gpo之外),该脚本已放置在DFS共享上(\dom.ain\share\scripts\configure winrm listener.ps1)

问题:GPO似乎没有运行此脚本

已尝试:

  • powershell选项卡下的登录脚本

  • “脚本”选项卡下的登录脚本,指向带有几个开关的powershell

  • powershell选项卡下的启动脚本

  • 脚本选项卡下的启动脚本,指向带有几个开关的powershell

问题:

  • 如何将此脚本转换为工作GPO

  • 是否因为GPO是从域控制器运行的,所以无法正常工作

  • 是否需要将脚本配置为远程运行?比如使用Invoke命令

  • 将脚本复制到计算机上是否更好?最佳做法是什么

考虑使用我几年前写的,并在今天的工作中继续使用。脚本帮助的描述解释了如何设置所有内容。唯一的问题是WinRM证书需要来自名为
WinRM
的证书模板(尽管您可以随时将脚本修改为您在环境中使用的任何模板名称)。要引用帮助的相关部分,请执行以下操作:

  • 在中的1001或1006事件ID上点火 CertificateServicesClient生命周期系统事件日志
  • 使用-FindCert参数选择最近的 从“WinRM”证书模板创建的有效证书
  • 由于参数化方法不适用于通过GPO部署的任务,请将此脚本放置在网络上的某个位置,并部署一个计划任务,以使用
    -FindCerts
    参数运行此脚本。这将从名为
    WinRM
    的证书模板中部署的证书中搜索最新的可用证书,并对其进行配置。只要您运行的是2012R2或更新版本,您就可以依靠证书生命周期事件来触发脚本。对于早期版本(希望您现在还不在2008R2上),您可以在一段时间间隔内运行它,而不是在证书生命周期事件上运行它

    我们每六周循环一次证书,这将在新证书部署到服务器时自动运行并刷新证书。如果在证书生命周期事件上触发,则每次在服务器上部署或续订证书时,脚本都会运行,但如果不是我们期望的证书,脚本设计为静默退出

    $FQDN = [System.Net.Dns]::GetHostByName(($env:computerName)).Hostname
    
    $CertThumbPrint = (Get-ChildItem Cert:\LocalMachine\my | ? {$.Extensions | ? {$.oid.friendlyname -match "Certificate Template Information" -and $_.Format(0) -match "WinRM"}}).Thumbprint
    
    New-WSManInstance winrm/config/Listener -SelectorSet @{Address='*';Transport="HTTPS"} -ValueSet @{Hostname=$FQDN;CertificateThumbprint=$CertThumbPrint} | Out-File C:\winrm.txt