使用C#/ Powershell设置Active Directory“安全身份映射”/“名称映射”不会添加到正确的“存储”

我已按照本指南操作: https : //blogs.msdn.microsoft.com/adpowershell/2009/04/26/working-with-certificates-in-active-directory-powershell/

证书已成功添加到用户的已发布证书中。 但这不是我真正想要的。

相反,我希望将证书添加到AD用户的X509证书(Active Directory中的名称映射/安全身份映射)

安全身份映射

有没有办法在C#或Powershell中执行此操作?

所以我按照本指南解决了这个问题。

https://blogs.msdn.microsoft.com/adpowershell/2009/04/26/working-with-certificates-in-active-directory-powershell/

改变了Mathias建议的命令。

 Set-ADUser -Certificates 

然后按照本指南填写altSecurityIdentities的参数。

https://blogs.msdn.microsoft.com/spatdsg/2010/06/18/howto-map-a-user-to-a-certificate-via-all-the-methods-available-in-the-altsecurityidentities-属性/

现在,我的证书已添加到安全身份映射中的X509证书中。

这是我的代码:

 Set-ADUser USERNAME -Add @{'altSecurityIdentities'="X509:C=BE,CN=Citizen CA,SERIALNUMBER=********C=BE,CN=FIRSTNAME (Authentication),SN=LASTNAME,G=FIRSTNAME,SERIALNUMBER=***********"} 

注意:您可以通过打开证书来获取X509参数(Issuer和Subject)。

我希望这可以帮助其他人解决同样的问题。 再次感谢Mathias!