Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
AD Powershell использует .NET класс X509Certificate для представления сертификата. Давайте посмотрим, как можно управлять сертификатами пользователя.
Обновление пользовательских сертификатов
Создаем объект X509Certificate (или X509Certificate2) с помощью файла сертификата.
PS C:\> $cert1 = New-Object System.Security.Cryptography.X509Certificates.X509Certificate "C:\Certs\Test1.cer"
PS C:\> $cert2 = New-Object System.Security.Cryptography.X509Certificates.X509Certificate "C:\Certs\Test2.cer"
Затем назначаем сертификат учетной записи пользователя во время ее создания.
PS C:\> $certs = $cert1,$cert2 #create certificate array
PS C:\> New-ADUser -Name TestUser1 -SamAccountName TestUser1 -Certificates $certs
Назаметку: Параметр Certificates обновляет атрибут LDAP userCertificate.
Также можно назначить сертификаты существующей учетной записи пользователя.
PS C:\> Set-ADUser TestUser1 -Certificates @{Replace=$cert1,$cert2}
Просмотр пользовательских сертификатов
Можно выбрать сертификаты для существующего пользователя.
PS C:\> $user1 = Get-ADUser TestUser1 -Properties "Certificates"
И затем просмотреть основные параметры сертификатов:
PS C:\> $user1.Certificates | fl * -f
Handle : 456139856
Issuer : OU=EFS File Encryption Certificate, L=EFS, CN=Administrator
Subject : OU=EFS File Encryption Certificate, L=EFS, CN=Administrator
...
Класс X509Certificate2 используется для получения большей информации о сертификатах.
PS C:\> $user1.Certificates | foreach {New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $_} | fl * -f
...
FriendlyName :
IssuerName : System.Security.Cryptography.X509Certificates.X500DistinguishedName
NotAfter : 2/24/2109 8:35:26 AM
NotBefore : 3/20/2009 9:35:26 AM
HasPrivateKey : False
PrivateKey :
PublicKey : System.Security.Cryptography.X509Certificates.PublicKey
RawData : {48, 130, 3, 139...}
SerialNumber : …
SubjectName : System.Security.Cryptography.X509Certificates.X500DistinguishedName
SignatureAlgorithm : System.Security.Cryptography.Oid
Thumbprint : …
Version : 3
Handle : 456139856
Issuer : OU=EFS File Encryption Certificate, L=EFS, CN=Administrator
Subject : OU=EFS File Encryption Certificate, L=EFS, CN=Administrator
Также можно назначить существующие сертификаты новому пользователю.
PS C:\> $user1 = Get-ADUser TestUser1 -Properties "Certificates"
PS C:\> New-ADUser -Name TestUser2 -SamAccountName TestUser2 -Certificates $user1.Certificates
На заметку: Сертификаты также могут быть применены для учетных записей компьютеров и служб, управление ими производится аналогично.
Надеюсь, это поможет.
Cheers!
Ashish
--
Ашлиш Шарма (Ashish Sharma) [MSFT]
Developer – Active Directory Powershell Team
Перевод: Илья Лушников