Как добавить сертификат в локальный контакт Outlook с помощью Powershell? - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь отсортировать текущие контакты в Outlook, чтобы заменить сертификаты шифрования. Но не ясно, как подготовить объект?

 # В var $contactList collect contacts from Outlook
foreach ( $name in $contactList ) {

                 $PR_x509_Certificate = ('http://schemas.microsoft.com/mapi/proptag/0x3A701102');              

# Create new contact
                 $NewContact = $Outlook.CreateItem('olContactItem');
# Get email, name, fullname from old contact                 
                 $NewContact.Email1Address        = $name.Email1Address; 
                 $NewContact.FullName             = $name.FullName;
                 $NewContact.FirstName            = $name.FirstName;                               
# Import certificate from из .cer file              
                 $NewCertUser = New-Object system.security.cryptography.x509certificates.x509certificate2;
                 $NewCertUser.Import($PathToCerFile);
# Try add sertificate, but no success :(               
                 $result = $NewCertUser.RawData;
                 $o = New-Object BuildProperty($result);
                 $NewContact.PropertyAccessor.SetProperty($PR_x509_Certificate, $o);             
# Save new contact                
                 $NewContact.Save();
# Delete old                
                 $name.Delete();

            } 

Я пытаюсь обновить это:

enter image description here

1 Ответ

0 голосов
/ 15 января 2020

Должно быть возможно сделать это в хранилище сертификатов пользователей certmgr.msc, даже не касаясь Outlook:

Other people store

...