2015-10-28 2 views
1

Я попытался импортировать-PfxCertificate с Invoke-Command, но я думаю, что для копирования файла сертификата необходимо сначала скопировать на удаленный сервер. И я также считаю, что он требует, чтобы полномочия были делегированы.PowerShell: Как установить сертификат PFX на удаленном компьютере в хранилище «CurrentUser»?

По ссылку ниже классов .Net не поддерживает «CurrentUser» -

http://blogs.technet.com/b/heyscriptingguy/archive/2011/02/16/use-powershell-and-net-to-find-expired-certificates.aspx

«Из этих двух мест хранения сертификата, только LocalMachine можно получить удаленный доступ с помощью класса .NET Попытка. для доступа к CurrentUser будет вызвано сообщение «Отказано в доступе» из соображений безопасности ».

Есть ли способ сделать это с помощью PowerShell?

ответ

2

Вы можете использовать PSSession для входа на удаленный компьютер.

Enter-PSSession -ComputerName RemoteSystem 
    #...Prompt changes and commands are now executing on the remote sysem 
    #change the store location to the appropriate store you'd like to put the CERT 
    Import-PFXCertificate -CertStoreLocation Cert:\CurrentUser\TrustedPublisher -FilePath \\server\path\to\cert.pfx 
Exit-PSSession 

Это был бы самый простой способ сделать это и любая другая команда, которая должна выполняться в системе локации.

Если вам нужно сделать это в скрипте через большое количество систем:

$computers = #get a bunch of computers, either a txt file, csv or whatever 
ForEach ($remoteSystem in $computers){ 

    Enter-PSSession -ComputerName $RemoteSystem 
     #Commands below this point will execute remotely 
     Import-PFXCertificate -CertStoreLocation Cert:\CurrentUser\TrustedPublisher -FilePath \\server\path\to\cert.pfx 
    Exit-PSSession 
} 

Готово!

+0

Спасибо за ответ, но получив эту ошибку. «Доступ запрещен. 0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED) .Это может быть результатом учетных данных пользователя, требуемых на удаленной машине. См. Справку« Справка »Enable-WSManCredSSP о том, как включить и использовать CredSSP для делегирования с удалением PowerShell». –

+0

Import-PfxCertificate -CertStoreLocation Cert: \ CurrentUser \ My -FilePath \\ 172.xx.xx.xx \ Shared \ Certs \ pravesh.com.pfx. Выполняет эту команду после Enter-PSSession. , –

+0

В первую очередь удалите PowerShell. Запустите Get-help about_remoting для отличного руководства по этой теме. – FoxDeploy

Смежные вопросы