#powershell #active-directory #pki #pfx #powershell-module
Вопрос:
Я вызываю этот скрипт из C#, и он отлично работает на машине, не присоединенной к домену. Когда я подключаю компьютер к домену, я получаю эту ошибку:
Команда «Экспорт-PFX-сертификат» была найдена в модуле «PKI», но модуль не удалось загрузить. Для получения дополнительной информации запустите «Import-Module PKI».
Конечно, когда я запускаю PKI-модуль импорта, информация не отображается. Я установил все доступные политики выполнения, включая политику машины и пользователя, с помощью объекта групповой политики. Все та же ошибка. Не знаю, где еще попробовать, поэтому я решил попробовать здесь. Сценарий Powershell ниже:
param ( [string]$PasswordForCert ) $expression = "netsh http show sslcert" $result = Invoke-Expression $expression $number = 0 $foundHash = "NOT FOUND!!!!!" foreach ($line in $result) { $number = $number 1 if ($line -like "*Certificate Hash*") { $parts = $line -split ":" $foundHash = $parts[1].Trim() break; } } $firstCert = Get-ChildItem -Path "Cert:LocalMachineMy$foundHash" -Recurse | Select-Object -First 1 $idealCertPath = Join-Path (Get-Location) "TemporaryWowzaCert.pfx" $tempPassword = ConvertTo-SecureString -String $PasswordForCert -Force -AsPlainText Export-PfxCertificate -Cert "Cert:LocalMachineTrustedPeople$($firstCert.Thumbprint)" ` -FilePath $idealCertPath ` -Password $tempPassword
Комментарии:
1. Попробуйте
Get-Module PKI -ListAvailable | FL
и убедитесь , что фактический файл модуля выглядит нормально. Тогда попробуй убежатьImport-Module PKI -Verbose
. В нем должен быть указан каждый файл, который он пытается загрузить.