Интегрирование модуля Active Directory в WinPE для работы с доменом на этапе PXE.

Добавить скрипты возможно следующими способами:

  1. Интегрировать модуль непосредственно в загрузочный wim-образ, например, через dism. В интернете есть несколько пошаговых инструкций, как это выполнить. Для примера:

    • Add Powershell – Active Directory module in Windows PE

    • PowerShell Active Directory Module in WinPE 10

      У данного метода есть несколько минусов, а именно:

    • Во-первых, образ увеличивается в размерах

    • Во-вторых, что наиболее значимо, компоненты модуля удаляются из загрузочного образа при обновлении его на Distribution Point.

      Проблема достаточно распространена, для примера, обсуждение аналогичной проблемы. Есть обходное решение проблемы: перед монтирование образа через dism в SCCM для образа необходимо снять галку Deploy this boot image from the PXE-enabled distribution point, обновить образ и вернуть галку. Но в какой-то момент про это забываешь, и все ломается. Для устранения указанных минусов подойдет второй вариант.

  2. Интегрирование модуля Active Directory непосредственно во время работы WinPE через PowerShell-скрипт. Для работы скрипта нам необходимо задать две переменные с указанием пользователя и пароля для доступа к сетевому каталогу, где мы разместим исходные файлы для модуля                         







    Текст скрипта:        



    [CmdletBinding()]
    param
       [string]$NetworkPath
    )
    $TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment
    $strAccessPassword = $TSEnv.Value("NetworkShareAccessAccountPassword")
    $secpasswd = ConvertTo-SecureString $strAccessPassword -AsPlainText -Force
    $objCreds = New-Object System.Management.Automation.PSCredential ($TSEnv.Value("NetworkShareAccessAccount"), $secpasswd)
    New-PSDrive -Name Y -PSProvider FileSystem -Root $NetworkPath -Credential $objCreds
    Copy-Item -Recurse "Y:\ActiveDirectory" -Destination $env:windir"\System32\WindowsPowerShell\v1.0\Modules
    Copy-Item -Recurse "Y:\WinSxs" -Destination $env:windir
    Copy-Item -Recurse "Y:\NET\GAC_32" -Destination $env:windir"\Microsoft.Net\assembly\"
    Copy-Item -Recurse "Y:\NET\GAC_64" -Destination $env:windir"\Microsoft.Net\assembly\"
    Remove-PSDrive Y


В заключении необходимо добавить шаг выполнения PowerShell-скрипта в Task Sequence, передав в качестве параметра NetworkPath сетевой путь до каталога, в котором находятся библиотеки модуля Active Directory.