В Windows 2012 R2 команда winhttpcertcfg -i FileName -a CertAccount -c LOCAL_MACHINE \ MY -p Password устанавливает сертификат в доверенное корневое хранилище вместо LOCAL_MACHINE \ MY. Мне также нужно предоставить доступ к закрытому ключу учетной записи, указанной параметром -a. Есть ли способ добиться того же с помощью Powershell / CertUtil?
Winhttpcertcfg неправильно импортирует сертификаты на Server 2008 R2 и новее. На странице загрузки указано, что он совместим до Server 2003. См.
http://www.microsoft.com/en-us/download/details.aspx?id=19801
Альтернативная команда - certutil.
http://technet.microsoft.com/library/cc732443.aspx
Чего не хватает, так это инструмента, который принимает аргументы вроде Winhttpcertcfg, который может принимать параметр, в какое хранилище вы хотите установить. Certutil не может этого сделать.
См. Ответ jaspernygaard
Winhttpcertcfg действительно позволяет предоставлять доступ к учетным записям, которые не выполняет certutil, и он работает от Server 2008 R2 до Server 2012 R2 через параметр -g.
Видеть http://technet.microsoft.com/en-us/library/ee662329.aspx
Единственная возможность импортировать сертификат и предоставить разрешения учетной записи - использовать Powershell. См. Ответ mao47 для простого импорта сертификата с помощью Powershell.
См. Ответ для импорта и предоставления доступа с помощью Powershell https://stackoverflow.com/questions/20852807/setting-private-key-permissions-with-powershell
Если вы хотите написать инструмент, используйте C #
Видеть
http://www.codeproject.com/script/Forums/View.aspx?fid=1649&msg=2062983