2014-10-23 3 views
0
$Srv ='10.101.22.82' #remote server 
$key = "SOFTWARE\\Microsoft\\SystemCertificates\\MY\\Certificates" 
$type = [Microsoft.Win32.RegistryHive]::LocalMachine 
$regKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($type, $Srv) 
$regKey = $regKey.OpenSubKey($key) 
Write-Host "Sub Keys" 
Write-Host "--------" 
Foreach($sub in $regKey.GetSubKeyNames()) 
{ 
#open the subkey here and parse the contents 
$myStr = "SOFTWARE\\Microsoft\\SystemCertificates\\MY\\Certificates\\"+$sub 
$regKey2 = $regKey.OpenSubKey($myStr) 
$bytes = $regKey2.GetValue($sub).Blob 
echo $bytes 
$cert = [System.Security.Cryptography.X509Certificates.X509Certificate2]$bytes 
$cert | Select Subject, Issuer, NotBefore, NotAfter, Thumbprint, SerialNumber 
} 

Я пытаюсь прочитать удаленный реестр и получить SSL-сертификаты с помощью PowerShell. Что мне не хватает? Указатели оценили, спасибоСертификаты PowerShell через удаленный реестр

ответ

0

У вас есть удаленное включение на удаленных хостах, которые вы запрашиваете? Если да, то что-то вроде

Invoke-Command -Computername COMPUTER -ScriptBlock {Get-ChildItem Cert:\LocalMachine\My} 

было бы намного чище.

+0

У меня нет удаленного доступа, и это, скорее всего, не будет вариантом в среде клиента ... $ sub дает эхо-имена подключений правильно, хотя – jharkhand

+0

Какой выход вы ищете? –

+0

Если сценарий работает правильно, он ответит всем сертификатом, установленным на удаленной системе, отображающим следующие атрибуты. \t Тема: CN = abc.def.com, OU = Food Services, O = MSFT Technologies, L = Рим, S = GA, C = US \t Эмитент: CN = demo-GA0001-CA, DC = demo, DC = чистая \t NotBefore: 8/5/2014 8:40:18 AM \t NotAfter: 8/5/2016 8:50:18 AM \t Отпечаток: C845369952DD9CX920F946422BB816623C640D0B \t SerialNumber: 2310DD6D0DD000880049 – jharkhand

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