Powershell脚本添加证书和绑定到IIS - 权限问题

时间:2018-05-29 00:06:47

标签: windows powershell ssl iis

我们正在尝试以编程方式向IIS上的站点添加新的SSL证书和新绑定。我们使用powershell脚本来实现这一点,并且它与服务器上本地管理员的用户一起工作正常。问题是,我们不能让Web服务器上的本地管理员用户在生产中运行此应用程序。这将违反公司政策。 我想知道用户需要的最小权限才能执行此操作。这两个命令是我现在被阻止的地方。

## Does nothing but no error. Works fine if I use my admin user.
Import-PfxCertificate -FilePath $path  cert:\localMachine\WebHosting\ -Password $mypwd -Exportable

## Give me : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
$newbinding = Get-WebBinding -Name $site -IPAddress $ip -Port 443 -Protocol "HTTPS" -HostHeader $hostheader 
$newbinding.AddSslCertificate("$thumbprint", "WebHosting")

我很难找到需要哪些权限/配置的明确答案。我在Cant add bindings to IIS programatically - redirection.config permissions (with a video!)之前遇到了同样的问题。现在它仍然不起作用,但不是同一个错误。

谢谢

1 个答案:

答案 0 :(得分:0)

如果您说,您在IIS服务器上远程运行此操作,则许多cmdlet的PoSH设计要求执行命令的用户位于目标主机本地管理组中。没有办法解决这个问题。

现在,所有这一切,为什么你需要一个特定的用户运行这个vs使用具有必要的权限的计划任务集来执行脚本?

您也可以考虑利用PoSH JEA进行此类工作。它并没有减轻对管理员信誉的需求,但它只是临时授予它们。

  

足够的管理:Windows PowerShell安全控制帮助   保护企业数据

     

Just Enough Administration(JEA) - 现在的最新更新   Windows Management Framework 5.0附带的是一个安全性   帮助组织实施信息安全的技术   限制IT管理权限。 JEA提供实用的,   基于角色的方法来设置和自动化IT限制   人员,并降低与提供用户相关的风险   行政权利。

     

JEA使用Windows PowerShell脚本的内置功能   环境。您可以使用PowerShell管理任何内容   更安全地管理JEA。 JEA提供标准化方法   与传统方式相比,减少了管理访问的粒度   访问控制模型。

     

JEA允许特定用户执行指定的管理任务   在指定的服务器上,而不给予他们完全的管   JEA基于Windows PowerShell约束的运行空间,a   Microsoft使用的技术来帮助保护管理任务   Microsoft Exchange Online等环境。

     

https://msdn.microsoft.com/en-us/library/dn896648.aspx

     

使用JEA

     

本主题介绍了可以连接和使用JEA的各种方法   端点。

     

要以交互方式使用JEA,您需要:•您的计算机名称   正在连接(可以是本地机器)•JEA的名称   在该计算机上注册的端点•计算机的凭据   可以访问JEA端点的

     

https://docs.microsoft.com/en-us/powershell/jea/using-jea