Список всех клиентских сертификатов, установленных в профилях пользователей в домене

Я предпринимаю первоначальные шаги, чтобы начать защищать сеть, и я столкнулся с тем фактом, что на многих компьютерах есть клиентские сертификаты для веб-сайтов, установленные в хранилище пользовательских клиентских сертификатов, локально, а не через AD. Они принадлежат стороннему ЦС и важны для бизнеса.

В качестве первого шага я пытаюсь создать список сертификатов, установленных каждым пользователем, чтобы затем попытаться создать что-то более управляемое с помощью объекта групповой политики или аналогичного, но поскольку они были установлены локально, я не вижу их в моей AD или службы сертификации.

Я просматривал командлеты управления сертификатами powershell, но даже тогда я могу только перечислить сертификаты текущего пользователя, что делает удаленное взаимодействие с учетными данными администратора домена недопустимым решением.

Как мне заняться каталогизацией всех сертификатов?

1 ответ

Эта ссылка означает, что вы не можете получить доступ к хранилищу сертификатов другого пользователя.

Один из способов, который я бы придумал, - написать сценарий входа, который получит сертификаты текущего пользователя при входе, например, с помощью Get-Childitem cert:\currentUser -recurse и сохраните вывод в локальный или сетевой файл. Если вы используете Export-CSV вы получите формат, который вы можете легко обработать.

Возможный однострочник может быть:

Get-Childitem Cert:\currentUser -Recurse |´
Select @{N="Username";E={$env:username}}, Subject, Issuer, FriendlyName, NotAfter |`
Export-CSV [csvFilePath] -Append

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

Другие вопросы по тегам