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

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

我正在尝试想出一种方法来推送证书以在多台机器上安装。我想出的方法是:

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

我以管理员身份运行本地 PowerShell,并且我的帐户是目标计算机上的管理员。并且我已验证我可以安装证书。

编辑:如果我登录到目标机器并运行 {} 中的代码,它会正常工作,但前提是我以管理员身份运行。因此,当我在机器上以管理员身份启动时,它似乎没有将其转换到目标上。

答案1

你遇到的问题是第二跳使用 PowerShell 远程处理传递凭据。请参阅下面我链接的文章中的摘录。

第一个跳转是从您的客户端到 ServerA。第二个跳转是从 ServerA 到您尝试连接的另一台计算机。出现问题的原因是您的凭据无法再次委托。

这实际上是一个安全功能,旨在防止您的凭证在您不知情的情况下被传递。因此您的第二跳操作失败,因为 ServerA 无法在传输过程中发送任何凭证。

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

你也可以使用 CredSSP 进行第二跳远程连接

答案2

您还可以通过 GPO 将证书分发到受信任的根存储(和其他存储)。使用此方法的优点是,在新机器构建并加入域时,适当的证书已安装到位。

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

通用机械委员会

相关内容