访问被拒绝在远程机器上导入证书

我试图想出一个办法推出一个证书,以安装在多台机器上。 我想到的方法是:

Invoke-Command ServerName {Import-Certificate -FilePath "path" ` CertStoreLocation Cert:\LocalMachine\Root} 

我得到:

 Access is denied. 0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED) + CategoryInfo : NotSpecified (:) [Import-Certificate], Exception + FullyQualifiedErrorID : System.Exception,Microsoft.CertificationServices.Commands.ImportCertificateCommand + PSComputerName : ServerName 

我以pipe理员身份运行本地PowerShell,而我的帐户是目标计算机上的pipe理员。 我已经证实我可以安装证书。

编辑:如果我login到目标机器并运行在{}的代码,它工作正常,但只有当我以pipe理员身份运行。 所以在我的机器上,我以pipe理员身份启动,似乎没有将其转换为目标。

您遇到的问题是使用PowerShell远程传递的第二个跃点凭据。 从我链接的文章直接看下面的摘录。

第一跳从你的客户端到ServerA。 第二个是从ServerA到另一台你要连接的机器。 问题出现是因为您的凭证无法再次委派。

这实际上是一个安全function,旨在防止您的凭据在您不知情的情况下被传递。 所以你的第二跳操作失败,因为ServerA无法发送任何凭据。

有一些解决办法,即将证书文件本地复制到您首先导入的服务器,您已经声明的服务器没有问题。

您也可以使用CredSSP进行第二跳远程处理 。

您还可以通过GPO将证书分发到受信任的根存储(和其他存储)。 使用这种方法的优点是在新机器build立并连接到域时,适当的证书就位。

右键单击商店名称,导入公钥文件,链接GPO,等待90分钟以便GPO刷新目标。

GPMC