Добавьте несколько сертификатов в последовательность задач MDT.

Вопрос или проблема

Я использую последовательность задач развертывания, чтобы вызвать скрипт Powershell для установки нескольких сертификатов, но он не устанавливает их.

Команда, которую я использую, следующая:


Import-Certificate -FilePath "%DeploymentRoot\Scripts\certs\cert1.cer" -CertStoreLocation Cert:LocalMachine\My



Import-Certificate -FilePath "%DeploymentRoot\Scripts\certs\cert2.cer" -CertStoreLocation Cert:LocalMachine\My

Я протестировал, изменив на полный путь, и установил на сервере.

Я получаю следующую ошибку, когда машина PXE завершает установку:
Неизвестная ошибка (Ошибка: 00002A95; Источник: Неизвестен)
Двигатель последовательности задач завершился неудачей! Код: enExecutionFail
Выполнение последовательности задач завершилось с кодом ошибки 80004005
RegQueryValueExW завершилось неудачей для Software\Microsoft\SMS\Task Sequence,
SMSTSEndProgram
GetTsRegValue0 завершилось неудачей. Ox80070002
Ошибка: Менеджер последовательности задач не смог выполнить последовательность задач, Код Ox80004005

Ваша проблема, вероятно, связана с тем, что переменная %DeploymentRoot% не интерпретируется правильно в контексте вашей последовательности задач развертывания.

Проверьте значение %DeploymentRoot%
Используйте следующий фрагмент в вашем скрипте PowerShell, чтобы увидеть, правильно ли разрешается переменная:

Write-Output “DeploymentRoot: $env:DeploymentRoot”
Если это не выводит ожидаемый путь, значит, %DeploymentRoot% не устанавливается как ожидалось.

Или замените %DeploymentRoot% на фактический полный путь к общей папке развертывания в вашем скрипте.

Ответ или решение

Как добавить несколько сертификатов в задачу развертывания MDT

Развертывание с помощью Microsoft Deployment Toolkit (MDT) может быть сложной задачей, особенно когда дело доходит до установки сертификатов. Если вы используете сценарии PowerShell для установки нескольких сертификатов и сталкиваетесь с проблемами, такими как ошибка выполнения задачи с кодом 80004005, важно провести тщательное обследование и корректировку процесса развертывания.

Проблема с переменной %DeploymentRoot%

Одной из самых распространенных причин неудачной установки сертификатов является неправильное разрешение переменной %DeploymentRoot% в контексте задачи развертывания. Чтобы убедиться, что переменная DeploymentRoot корректно определена, можно добавить следующий код в ваш сценарий PowerShell:

Write-Output "DeploymentRoot: $env:DeploymentRoot"

После этого выполните задачу развертывания и проверьте вывод. Если путь, который был выведен, оказался некорректным или пустым, это означает, что переменная %DeploymentRoot% не настроена должным образом. В этом случае вы можете заменить её на полный путь к вашему развертыванию.

Примеры установки сертификатов

Вот корректная схема установки сертификатов с помощью PowerShell, которую можно использовать в вашей задаче развертывания:

# Путь к сертификатам
$cert1Path = "C:\DeploymentRoot\Scripts\certs\cert1.cer"
$cert2Path = "C:\DeploymentRoot\Scripts\certs\cert2.cer"

# Проверка наличия файлов
if (Test-Path $cert1Path) {
    Import-Certificate -FilePath $cert1Path -CertStoreLocation Cert:LocalMachine\My
} else {
    Write-Output "Файл сертификата $cert1Path не найден."
}

if (Test-Path $cert2Path) {
    Import-Certificate -FilePath $cert2Path -CertStoreLocation Cert:LocalMachine\My
} else {
    Write-Output "Файл сертификата $cert2Path не найден."
}

Проверка выполнения сценария

Чтобы избежать ошибок и убедиться в правильной установке сертификатов, убедитесь, что в выводе PowerShell не присутствует никаких сообщений об ошибках. Если сертификаты не установились, особенно обращайте внимание на сообщения об отсутствии файлов или проблемах с правами доступа.

Устранение других возможных ошибок

  1. Права доступа: Убедитесь, что ваша учетная запись имеет достаточные права для установки сертификатов в хранилище LocalMachine.

  2. Пути: Если вы все еще сталкиваетесь с ошибками, попробуйте использовать абсолютные пути к сертификатам вместо относительных, чтобы исключить влияние переменной %DeploymentRoot%.

  3. Логи MDT: Проверьте логи MDT для более детальной информации о причинах ошибок. Логи можно найти по следующему пути: X:\Windows\Logs\SMSTSLog\. Обратите внимание на файлы smsts.log, чтобы выявить более конкретные проблемы в процессе выполнения задачи.

Заключение

Добавление нескольких сертификатов в задачу развертывания MDT требует тщательного подхода, особенно в отношении правильного определения путей и разрешения переменных. Используйте предложенные методы для проверки и исправления вашей установки сертификатов, и вы сможете успешно завершить развертывание.

Оцените материал
Добавить комментарий

Капча загружается...