Модуль PKI работает на сервере, не являющемся доменом, но на присоединенном домене я получаю команду Export-PfxCertificate, которая была найдена в модуле «PKI», но не могла быть загружена

#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 . В нем должен быть указан каждый файл, который он пытается загрузить.