Сертификаты хранятся в Реестре или LocalAppData .
Если у вас есть права администратора, вы можете получить удаленный доступ к реестру через .Net для этого пользователя или файловой системы и при необходимости удалить сертификаты. Вот тест, который я провел.
Сначала я создал фиктивный сертификат на удаленной машине. Это добавляет сертификат в CurrentUser \ My и CurrentUser \ CA
New-SelfSignedCertificate -DnsName "www.fabrikam.com" -CertStoreLocation "Cert:\CurrentUser\My"
Thumbprint Subject
---------- -------
E5A33C1BB6FBA8A6DA397C6BFE2CE489F751AF10 CN=www.fabrikam.com
Далее я удаленно обращаюсь к сертификату и удаляю его по отпечатку из хранилища реестра CA.
$computer = 'ComputerA'
$targetSID = 'S-1-5-21-1234567890-1234567890-1234567890-12345' #get-aduser username
$reg = [Microsoft.win32.registryKey]::OpenRemoteBaseKey('Users', $computer) #open remote registry
$avaliableSID = @($($reg.GetSubKeyNames() | Where-Object { $_ -match 'S-\d-\d+-(\d+-){1,14}\d+$' })) #get all users SIDS
if($avaliableSID -contains $targetSID ) #if it contains the one we want
{
$otherUserStore = $reg.OpenSubKey("$targetSID\software\microsoft\systemcertificates\ca\certificates", $true) #open profile for writing
$otherUserStore.DeleteSubKey('E5A33C1BB6FBA8A6DA397C6BFE2CE489F751AF10', $false) #delete key and suppress error if missing
}
Затем я удаляю его из Моего магазина в% localappdata%
Remove-Item "\\$computer\c$\users\SOME.USER\appdata\roaming\microsoft\systemcertificates\my\certificates\$thumbprint" -Force #force required or you get access denied
Проверка сертификата: \ currentuser \ my, поскольку этот пользователь не показывает никаких признаков сертификата. Конечно, вы должны добавить проверку ошибок и т. Д., Но этот пример должен помочь.