在不同用户的当前用户存储上安装证书

时间:2015-08-20 20:15:28

标签: powershell x509certificate powershell-v4.0

我目前正在使用以下代码将证书从本地计算机存储添加到当前用户存储,其中$ cert是证书。

$DestStoreScope = 'CurrentUser'
$DestStoreName = 'My'

$DestStore = New-Object  -TypeName System.Security.Cryptography.X509Certificates.X509Store  -ArgumentList $DestStoreName, $DestStoreScope
$DestStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$DestStore.Add($cert)


$SourceStore.Close()
$DestStore.Close()

有没有办法可以将此证书添加到此计算机上的其他用户当前商店。它将在管理员帐户下运行。任何帮助,将不胜感激。如果您还有其他需要,请告诉我们!

1 个答案:

答案 0 :(得分:2)

CurrentUser / HKEY_CURRENT_USER是注册表中的抽象。实际用户数据存储在密钥HKEY_USERS\<SID>中。由于CurrentUser始终引用当前登录的用户,并且API不允许通过用户的SID访问证书存储,因此您唯一的选择(AFAICS)是在您的用户的上下文中运行脚本想要安装证书。