Powershell удаленно удаляют сертификаты PKI

Я недавно восстановил свой PKI, и я хотел бы удалить сертификаты, которые были выпущены ко всем клиентским машинам через мою сеть. Походит на задание для Powershell! Таким образом, я записал этот сценарий, который будет распределен GPO, работал из SysVol и включил клиентские машины при запуске:

set-location cert:\LocalMachine\My
$certname = $env:COMPUTERNAME + ".domain.com"
get-item * | %{
if($_.issuer -like "CN=IssuingCA*" -and $_.DnsNameList.unicode -like $certname) { remove-item .\$_.Thumbprint -Force }
}

От поднятой командной строки:

  • Когда Работал, сценарий не дает вывода (просто новая терминальная строка). Это не возвращает ошибок, и Сертификат не удален.
  • Когда аргумент -WhatIf добавляется к Remove-Item команда в сценарии, снова никакие ошибки и Сертификат не удалена.
  • То, когда.\CERTIFICATE-СЛЕД-БОЛЬШОГО-ПАЛЬЦА Удалять-объекта - Сила, работало, сертификат удален.

Действительно ли это - проблема полномочий? Существует ли более умный/более простой способ сделать это?

Спасибо!

9
задан 9 July 2014 в 18:55
2 ответа

Мой ответ - "Есть ли более умный/простой способ сделать это?" часть вашего вопроса. Этот скрипт успешно удалил для меня папочку-серт

$Path = 'Cert:\LocalMachine\AuthRoot\'
$CertList = @()

$CertList = Get-ChildItem -Path $Path | Where-Object {$_.Issuer -like "CN=GO*"}

foreach($Cert in $CertList){
    remove-item "$($Path)$($Cert.Thumbprint)" -Force -WhatIf
}

Я добавил -WhatIf так, чтобы этот код не был опасен для фолианта "copy\paste\run". Теперь нужно адаптировать $Path, Where-Object и добавить переменную $certname, но вышеприведенный шаблон должен вас заставить.

.
6
ответ дан 2 December 2019 в 22:32

Хотя я не смог решить проблему со скриптом, я смог найти "Умный/Прозрачный" способ достичь своей цели.

В Центре сертификации:

  • Rt-кликните Шаблоны сертификатов и выберите Управление
  • Rt-клик на шаблоне сертификата, который вы хотите заменить, и выберите Перерегистрировать всех держателей сертификатов

Это увеличит номер версии шаблона, а сетевые системы с автоматической регистрацией удалят старый сертификат и зарегистрируются с новым сертификатом.

Хотя это требует автоматической регистрации для конкретного шаблона, с которым я работаю, предпочтительным ответом будет решение для размещенного скрипта.

3
ответ дан 2 December 2019 в 22:32

Теги

Похожие вопросы