Развертывание Windows To Go в вашей организации

В этом разделе описан процесс развертывания Windows To Go в организации. Перед началом развертывания изучите раздел Подготовка организации к работе с Windows To Go и Windows To Go: обзор возможностей, чтобы убедиться в наличии подходящего оборудования и готовности завершить развертывание. Затем следуйте инструкциям этого раздела, чтобы начать развертывание Windows To Go.

Примечание  

В этом разделе приведены примеры командлетов Windows PowerShell, которые можно использовать для автоматизации некоторых описанных процедур. Дополнительные сведения см. в разделе Командлеты.

 

Советы по развертыванию

Далее перечислены моменты, о которых следует знать до начала развертывания.

  • Используйте только рекомендованные для Windows To Go USB-накопители. Использование других носителей не поддерживается. В списке Аппаратные соображения для Windows To Go приведены последние USB-накопители, сертифицированные для Windows To Go.

  • После подготовки нового рабочего пространства всегда извлекайте носитель Windows To Go с помощью элемента управления Безопасное извлечение оборудования и мультимедиа, который можно найти в области уведомлений или в проводнике. Удаление носителя из USB-порта без его предварительного извлечения может привести к повреждению носителя.

  • Если запущено рабочее пространство Windows To Go, всегда завершайте процесс рабочего пространства до извлечения носителя.

  • System Center 2012 Configuration Manager с пакетом обновлений SP1 и более поздних версий поддерживает работу с пользовательскими самостоятельно подготовленными носителями Windows To Go. Вы можете загрузить Configuration Manager в Центре оценки Microsoft TechNet. Дополнительные сведения об этом варианте развертывания см. в разделе Как подготовить Windows To Go в диспетчере конфигураций.

  • Если вы планируете использовать дубликатор USB-дисков для дублирования носителей Windows To Go, не настраивайте автономное присоединение к домену или BitLocker на носителе.

Основные шаги развертывания

Если только не используется измененный образ операционной системы, исходное рабочее пространство Windows To Go не будет присоединено к домену и не будет содержать приложений. Все в точности соответствует новой установке Windows на ПК или ноутбук. При планировании развертывания необходимо разработать методы для присоединения носителей Windows к домену и установки стандартных приложений, которые требуются пользователям в вашей организации. Эти методы, возможно, будут аналогичны тем, что используются для параметры на настольных компьютерах и ноутбуках доменных привилегий и приложений. В этом подразделе приведены инструкции по правильной разметке диска на USB-накопителе, применению образа операционной системы и специфичных настроек Windows To Go к накопителю. Следующие действия выполняются как в малых, так и крупномасштабных сценариях развертывания Windows To Go.

После выполнения этих действий вы получите довольно общий диск Windows To Go, который можно распространять среди пользователей и настроить его для своих нужд. Этот диск также подходит для использования с дубликаторами USB-накопителей. В ваших сценариях развертывания будут выполняться и другие действия, отличные от описанных основных шагов, но эти дополнительные аспекты развертывания сходны с обычным процессом развертывания на ПК и могут быть добавлены в ваш план развертывания Windows To Go. Подробнее: Параметры развертывания Windows.

Предупреждение  

Если вы планируете использовать общий диск Windows To Go как основной диск в дубликаторе USB, то не следует выполнять загрузку с диска. Если диск был случайно загружен, его нужно повторно подготовить до дублирования.

 

Создание рабочего пространства Windows To Go

На этом этапе мы создадим образ операционной системы, который будет использоваться на дисках Windows To Go. Вы можете использовать мастер создания Windows To Go или сделайте это вручную, используя Windows PowerShell и средства командной строки.

Предупреждение  

Рекомендуемый способ создания одного диска Windows To Go заключается в использовании мастера создания Windows To Go, который входит в состав Windows 10 Корпоративная и Windows 10 для образовательных учреждений.

 

Mt186418.wedge(ru-ru,VS.85).gifЧтобы создать рабочее пространство Windows To Go с помощью мастера создания Windows To Go, сделайте следующее.

  1. Выполните вход в ПК Windows, используя учетную запись с правами администратора.

  2. Вставьте USB-накопитель, который хотите использовать в качестве диска Windows To Go, в компьютер.

  3. Убедитесь, что расположение WIM-файла (это может быть сетевая папка, DVD-диск или USB-накопитель) доступно и содержит допустимый образ Windows 10 Корпоративная или Windows 10 для образовательных учреждений, обобщенный с помощью средства sysprep. В нескольких средах можно использовать один и тот же образ для развертывания как Windows To Go, так и настольных систем.

    Примечание  

    Дополнительные сведения о WIM-файлах см. в разделе Технический справочник по диспетчеру установки Windows (Windows SIM). Дополнительные сведения о средстве sysprep см. в разделе Обзор Sysprep.

     

  4. Используя Кортану, выполните поиск Windows To Go и нажмите клавишу ВВОД. Если откроется диалоговое окно Контроль учетных записей, убедитесь, что в нем указано требуемое действие, а затем нажмите кнопку Да. Откроется Мастер создания Windows To Go.

  5. На странице Выбор диска укажите диск, который представляет USB-накопитель, вставленный вами заранее, а затем нажмите кнопку Далее.

  6. На странице Выбор образа Windows нажмите кнопку Добавить место для поиска, а затем перейдите к месту хранения WIM-файла и нажмите кнопку выбора папки. Мастер покажет образы в папке, готовые к установке; выберите образ Windows 10 Корпоративная или Windows 10 для образовательных учреждений, а затем нажмите кнопку Далее.

  7. (Необязательно) На странице Установка пароля BitLocker (необязательно) вы можете выбрать вариант Использовать BitLocker в моем рабочем пространстве Windows To Go для шифрования диска Windows To Go. Если вы не хотите шифровать диск в данный момент, нажмите кнопку Пропустить. Чтобы добавить защиту BitLocker позже, см. инструкции в разделе Включение защиты BitLocker для диска Windows To Go.

    Предупреждение  

    Если вы планируете использовать дубликатор USB-накопителей для создания нескольких дисков Windows To Go, не включайте BitLocker. Диски, защищенные с помощью BitLocker, не должны дублироваться.

     

    Если решили зашифровать диск Windows To Go сейчас, сделайте следующее.

    • Введите пароль, который содержит не менее 8 символов и соответствует политике сложности паролей, принятой в вашей организации. Этот пароль будет вводиться до запуска операционной системы, поэтому используемые символы должны быть распознаваемы встроенным ПО. Иногда встроенное ПО не распознает символы, отличные от ASCII-набора.

    • Повторно введите пароль и нажмите кнопку «Далее».

      Важно  

      Пароль восстановления BitLocker будет сохранен в библиотеке документов компьютера, использованного для автоматического создания рабочего пространства. Если ваша организация использует доменные службы Active Directory (AD DS) для хранения паролей восстановления, он также будет сохранен в AD DS под учетной записью компьютера, использованного для создания рабочего пространства. Этот пароль используется только в случае, когда нужно восстановить доступ к диску, если пароль BitLocker, указанный на предыдущем этапе, недоступен, например потерян или забыт. Дополнительные сведения о BitLocker и службе AD DS см. в разделе Вопросы, касающиеся доменных служб Active Directory.

       

  8. Убедитесь, что вставлен USB-накопитель, который вы хотите подготовить для Windows To Go, а затем нажмите кнопку Создать, чтобы начать процесс создания рабочего пространства Windows To Go.

    Предупреждение  

    Обнаруженный USB-накопитель будет переформатирован в ходе процесса подготовки Windows To Go, и все данные на диске будут удалены.

     

  9. Дождитесь завершения процесса создания рабочего пространства, это может занять от 20 до 30 минут. Появится страница завершения работы с сообщением, что рабочее пространство Windows To Go готово к использованию. На странице завершения можно настроить параметры запуска, чтобы Windows To Go размещалась на текущем компьютере.

Теперь можно запустить рабочее пространство Windows To Go. Теперь вы можете подготовить главный компьютер с помощью параметров загрузки Windows To Go и загрузить диск Windows To Go.

Эквивалентные команды Windows PowerShell

Следующие командлеты Windows PowerShell выполняют ту же самую функцию, что и описанная выше процедура. Введите каждый командлет на отдельной строке, даже если здесь они могут быть представлены с переносом строк из-за ограничений форматирования. Эту процедуру можно использовать только на ПК под управлением Windows 10. Прежде чем начать, убедитесь, что USB-накопитель, который вы хотите подготовить в качестве диска Windows To Go, подключен к ПК.

  1. Используя Кортану, выполните поиск powershell, щелкните правой кнопкой мыши Windows PowerShell и выберите команду Запустить от имени администратора.

  2. В окне сеанса Windows PowerShell введите следующие команды, чтобы разбить диск основной загрузочной записи (MBR) на системный раздел FAT32 и раздел NTFS операционной системы. Такой вариант разметки диска может поддерживать компьютеры, использующие встроенное программное обеспечение UEFI или BIOS:

    # The following command will set $Disk to all USB drives with >20 GB of storage
    
    $Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
    
    #Clear the disk. This will delete any data on the disk. (and will fail if the disk is not yet initialized. If that happens, simply continue with ‘New-Partition…) Validate that this is the correct disk that you want to completely erase.
    # To skip the confirmation prompt, append –confirm:$False
    Clear-Disk –InputObject $Disk[0] -RemoveData 
    
    # This command initializes a new MBR disk 
    Initialize-Disk –InputObject $Disk[0] -PartitionStyle MBR
    
    # This command creates a 350 MB system partition
    $SystemPartition = New-Partition –InputObject $Disk[0] -Size (350MB) -IsActive 
    
    # This formats the volume with a FAT32 Filesystem
    # To skip the confirmation dialog, append –Confirm:$False
    Format-Volume -NewFileSystemLabel "UFD-System" -FileSystem FAT32 `
    -Partition $SystemPartition
    
    # This command creates the Windows volume using the maximum space available on the drive. The Windows To Go drive should not be used for other file storage.
    $OSPartition = New-Partition –InputObject $Disk[0] -UseMaximumSize
    Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS `
    -Partition $OSPartition
    
    # This command assigns drive letters to the new drive, the drive letters chosen should not already be in use.
    Set-Partition -InputObject $SystemPartition -NewDriveLetter "S"
    Set-Partition -InputObject $OSPartition -NewDriveLetter "W"
    
    # This command sets the NODEFAULTDRIVELETTER flag on the partition which prevents drive letters being assigned to either partition when inserted into a different computer.
    Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
    
  3. Затем необходимо применить образ операционной системы, который нужно использовать с Windows To Go, к разделу операционной системы, созданной вами на диске (это может занять 30 минут и больше, в зависимости от размера образа и скорости вашего USB-подключения). Следующая команда показывает, как это можно выполнить с помощью средства командной строки для обслуживания образов развертывания и управления ими (DISM).

    Совет  

    Номер индекса должен указывать на допустимый образ Корпоративной версии в WIM-файле.

     

    #The WIM file must contain a sysprep generalized image.
    dism /apply-image /imagefile:n:\imagefolder\deploymentimages\mywtgimage.wim /index:1 /applydir:W:\ 
    
  4. Теперь используйте средство командной строки bcdboot для перемещения необходимых компонентов загрузки в системный раздел на диске. Это гарантирует, что компоненты загрузки, версии операционной системы и архитектуры совпадают. Параметр /f ALL указывает, что компоненты загрузки для UEFI и BIOS должны быть размещены на системном разделе диска. Следующий пример иллюстрирует этот этап:

    W:\Windows\System32\bcdboot W:\Windows /f ALL /s S:
    
  5. Примените политику SAN — OFFLINE_INTERNAL — «4», чтобы операционная система не пыталась автоматически включить какой-либо внутренний подключенный диск. Для этого нужно создать и сохранить на диске файл san_policy.xml. Следующий пример иллюстрирует этот этап:

    <?xml version='1.0' encoding='utf-8' standalone='yes'?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
      <settings pass="offlineServicing">
        <component
            xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            language="neutral"
            name="Microsoft-Windows-PartitionManager"
            processorArchitecture="x86"
            publicKeyToken="31bf3856ad364e35"
            versionScope="nonSxS"
            >
          <SanPolicy>4</SanPolicy>
        </component>
       <component
            xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            language="neutral"
            name="Microsoft-Windows-PartitionManager"
            processorArchitecture="amd64"
            publicKeyToken="31bf3856ad364e35"
            versionScope="nonSxS"
            >
          <SanPolicy>4</SanPolicy>
        </component>
     </settings>
    </unattend>
    
  6. Поместите файл san_policy.xml, созданный на предыдущем этапе, в корневой каталог раздела Windows на диске Windows To Go (W: согласно предыдущим примерам) и запустите следующую команду:

    Dism.exe /Image:W:\ /Apply-Unattend:W:\san_policy.xml
    
  7. Создайте файл ответов (unattend.xml), который отключает использование среды восстановления Windows в Windows To Go. Вы можете использовать следующий образец кода для создания нового файла ответов или вставить в существующий файл ответов:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="x86"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <UninstallWindowsRE>true</UninstallWindowsRE>
            </component>
           <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="amd64"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <UninstallWindowsRE>true</UninstallWindowsRE>
            </component>
        </settings>  
    </unattend>
    

    После сохранения файла ответов скопируйте unattend.xml в папку sysprep на диске Windows To Go (например, в W:\Windows\System32\sysprep\).

    Важно  

    Файлы автоматической установки обрабатываются в зависимости от их расположения. Установка поместит временный файл автоматической установки в папку %systemroot%\panther, это первое место, где проверяется наличие сведений об установке. Необходимо убедиться, что папка не содержит предыдущую версию файла unattend.xml, чтобы использовалась версия, созданная вами.

    Если вы не хотите загружать диск Windows To Go на этом компьютере, а хотите извлечь его для загрузки на другом компьютере, воспользуйтесь командой Безопасное извлечение оборудования и мультимедиа для безопасного отключения диска, прежде чем физически извлечь его из ПК.

     

Теперь можно запустить рабочее пространство Windows To Go. Теперь вы можете подготовить главный компьютер, проверив конфигурацию рабочего пространства с помощью параметров запуска Windows To Go, настроить рабочее пространство для автономного присоединения к домену или включить защиту BitLocker для диска Windows To Go.

Подготовка главного компьютера

Компьютеры под управлением Windows 8 и более поздних версий можно настроить как главные компьютеры, использующие Windows To Go автоматически, если рабочее пространство Windows To Go доступно при запуске. Когда на главном компьютере включены параметры запуска Windows To Go, Windows переведет запуск на диск Windows To Go, если он подключен к компьютеру. Это позволяет легко переключаться с использования главного компьютера на использование рабочего пространства Windows To Go.

Совет  

Если в качестве главного компьютера используется ПК под управлением Windows 7, см. сведения по подготовке главного компьютера в статье Советы по настройке параметров BIOS для работы с Windows To Go.

 

Если вы хотите использовать рабочее пространство Windows To Go, просто выключите компьютер, вставьте диск Windows To Go и включите компьютер. Чтобы использовать главный компьютер, завершите работу рабочего пространства Windows To Go, отключите диск Windows To Go и включите компьютер.

Настройка параметров запуска Windows To Go для главных компьютеров под управлением Windows 10.

  1. С помощью Кортаны выполните поиск параметров запуска Windows To Go и затем нажмите клавишу Ввод.

  2. В диалоговом окне Параметры запуска Windows To Go выберите вариант Да, затем нажмите кнопку Сохранить изменения, чтобы настроить компьютер на загрузку с USB-устройства.

Для главных компьютеров под управлением Windows 8 или Windows 8.1 сделайте следующее.

  1. Нажмите клавишу с логотипом Windows + W, выполните поиск Параметры запуска Windows To Go, а затем нажмите клавишу Ввод.
  2. В диалоговом окне Параметры запуска Windows To Go выберите вариант Да, затем нажмите кнопку Сохранить изменения, чтобы настроить компьютер на загрузку с USB-устройства.

Вы можете настроить компьютеры вашей организации для автоматического запуска с USB-накопителя, включив следующий параметр групповой политики.

\\Computer Configuration\Administrative Templates\Windows Components\Portable Operating System\Windows To Go Default Startup Options

Если включен этот параметр политики, будет выполняться автоматический запуск рабочего пространства Windows To Go, если на момент запуска к компьютеру подключен USB-накопитель. Пользователи не смогут использовать параметры запуска Windows To Go для изменения этого поведения. Если отключить этот параметр политики, загрузка Windows To Go с подключенного USB-накопителя не производится, если только пользователь не настроил этот параметр вручную с помощью встроенного ПО. Если не настроить этот параметр политики, пользователи, входящие в группу «Администраторы», могут включить или отключить загрузку c USB-накопителя с помощью параметров запуска Windows To Go.

Ваш главный компьютер теперь готов к прямой загрузке в рабочее пространство Windows To Go, если оно вставлено до запуска компьютера. Либо вы можете выполнить действия, описанные в разделах Настройка рабочего пространства Windows To Go для автономного присоединения к домену и Включение защиты BitLocker для диска Windows To Go.

Загрузка рабочего пространства Windows To Go

После настройки главного компьютера на загрузку с USB-устройства вы можете задействовать следующую процедуру для загрузки пространства Windows To Go.

Mt186418.wedge(ru-ru,VS.85).gifЗагрузка рабочего пространства

  1. Убедитесь, что главный компьютер не находится в режиме сна. Если компьютер в состоянии сна, выключите его или переведите в режим гибернации.

  2. Вставьте USB-накопитель Windows To Go непосредственно в порт USB 3.0 или USB 2.0 персонального компьютера. Не используйте USB-центр или расширитель.

  3. Включите компьютер. Если ваш диск Windows To Go защищен с помощью BitLocker, вам будет предложено ввести пароль, в противном случае рабочее пространство загрузится непосредственно в рабочее пространство Windows To Go.

Этапы расширенного развертывания

Следующие операции выполняются в ходе более сложных развертываний, где требуется больше контроля над конфигурацией дисков Windows To Go, нужно правильно настроить для них удаленный доступ к ресурсам вашей организации и защитить диски системой шифрования BitLocker.

Настройка рабочего пространства Windows To Go для удаленного доступа

Эффективное внешнее использование рабочих пространств Windows To Go является критически важным для успешного развертывания. Одно из основных преимуществ Windows To Go — способность пользователей работать с пространством, присоединенным к домену предприятия, на неуправляемом компьютере за пределами корпоративной сети. Чтобы задействовать такую возможность, обычно следует подготовить USB-накопитель, как описано в инструкциях к обычному развертыванию, а затем добавить конфигурацию для поддержки присоединения рабочего пространства к домену, установки любых бизнес-приложений и настройки выбранного вами решения удаленного подключения, например клиентского приложения виртуальной частной сети или DirectAccess. После выполнения этих настроек пользователь может работать из рабочего пространства, используя внешний по отношению к организации компьютер. Следующая процедура позволяет подготовить рабочие пространства Windows To Go, подсоединенные к домену, для сотрудников, не имеющих физический доступ к вашей корпоративной сети.

Необходимые условия для сценария удаленного доступа

  • Компьютер под управлением Windows 8 или более поздней версии, присоединенный к домену и настроенный как главный компьютер с Windows To Go.

  • Диск Windows To Go, который не был загружен и не присоединен к домену с помощью параметров автоматической установки.

  • Учетная запись пользователя домена с правами для добавления учетных записей компьютера к домену и входящая в группу «Администраторы» на главном компьютере Windows To Go

  • DirectAccess, настроенное на работу в домене

Mt186418.wedge(ru-ru,VS.85).gifНастройка рабочего пространства Windows To Go для удаленного доступа

  1. Запустите главный компьютер и выполните вход, используя учетную запись пользователя с правами на добавление рабочих станций к домену, и затем выполните следующую команду из окна командной строки с повышенными привилегиями, заменив подстановочные параметры из примера (обозначенные <>) на те, что применимы для вашей среды.

    djoin /provision /domain <exampledomain.com> /machine <examplewindowstogo_workspace_name> /certtemplate <WorkstationAuthentication_template> /policynames <DirectAccess Client Policy: {GUID}> /savefile <C:\example\path\domainmetadatafile> /reuse   
    

    Примечание  

    Параметр /certtemplate поддерживает использование шаблонов для сертификатов распространения DirectAccess. Если ваша организация не использует шаблоны сертификатов, вы можете опустить этот параметр. Кроме того, если с контроллерами домена на основе Windows Server 2008 применяется средство djoin.exe, добавьте ключ /downlevel во время подготовки диска. Подробнее см. в разделе Пошаговое руководство по автономному присоединению к домену.

     

  2. Вставьте диск Windows To Go.

  3. Запустите окно Windows PowerShell с повышенными привилегиями, щелкнув правой кнопкой мыши ярлык Windows PowerShell на панели задач и выбрав команду Запустить от имени администратора.

  4. Из командной строки Windows PowerShell выполните:

    # The following command will set $Disk to all USB drives with >20 GB of storage
    
    $Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
    
    #Clear the disk. This will delete any data on the disk. (and will fail if the disk is not yet initialized. If that happens, simply continue with ‘New-Partition…) Validate that this is the correct disk that you want to completely erase.
    # To skip the confirmation prompt, append –confirm:$False
    Clear-Disk –InputObject $Disk[0] -RemoveData 
    
    # This command initializes a new MBR disk 
    Initialize-Disk –InputObject $Disk[0] -PartitionStyle MBR
    
    # This command creates a 350 MB system partition
    $SystemPartition = New-Partition –InputObject $Disk[0] -Size (350MB) -IsActive 
    
    # This formats the volume with a FAT32 Filesystem
    # To skip the confirmation dialog, append –Confirm:$False
    Format-Volume -NewFileSystemLabel "UFD-System" -FileSystem FAT32 `
    -Partition $SystemPartition
    
    # This command creates the Windows volume using the maximum space available on the drive. The Windows To Go drive should not be used for other file storage.
    $OSPartition = New-Partition –InputObject $Disk[0] -UseMaximumSize
    Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS `
    -Partition $OSPartition
    
    # This command assigns drive letters to the new drive, the drive letters chosen should not already be in use.
    Set-Partition -InputObject $SystemPartition -NewDriveLetter "S"
    Set-Partition -InputObject $OSPartition -NewDriveLetter "W"
    
    # This command toggles the NODEFAULTDRIVELETTER flag on the partition which prevents drive letters being assigned to either partition when inserted into a different computer.
    Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
    
  5. Затем необходимо применить образ операционной системы, который нужно использовать с Windows To Go, к разделу операционной системы, созданной вами на диске (это может занять 30 минут и больше, в зависимости от размера образа и скорости вашего USB-подключения). Следующая команда показывает, как это можно выполнить с помощью средства командной строки для обслуживания образов развертывания и управления ими (DISM).

    Совет  

    Номер индекса должен указывать на допустимый образ Корпоративной версии в WIM-файле.

     

    #The WIM file must contain a sysprep generalized image.
    dism /apply-image /imagefile:n:\imagefolder\deploymentimages\mywtgimage.wim /index:1 /applydir:W:\ 
    
  6. После выполнения этих команд запустите следующую:

    djoin /requestodj /loadfile C:\example\path\domainmetadatafile /windowspath W:\Windows   
    
  7. Затем потребуется изменить файл unattend.xml для настройки параметров первого запуска (OOBE). В этом примере мы прячем страницу с условиями лицензионного соглашения на использование ПО корпорации Майкрософт (EULA), настраиваем автоматическое обновление для установки важных и рекомендуемых обновлений и определяем это рабочее пространство как участника частной сети офиса. При необходимости вы можете использовать другие параметры OOBE, настроенные для вашей организации. Дополнительные сведения о параметрах первого запуска см. в разделе Запуск при первом включении компьютера:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="oobeSystem">
            <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="x86"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
               <UninstallWindowsRE>true</UninstallWindowsRE>
               <OOBE>
                  <HideEULAPage>true</HideEULAPage>
                  <ProtectYourPC>1</ProtectYourPC>
                  <NetworkLocation>Work</NetworkLocation>
                </OOBE>
             </component>
           <component name="Microsoft-Windows-WinRE-RecoveryAgent"
              processorArchitecture="amd64"
              publicKeyToken="31bf3856ad364e35" language="neutral" 
              versionScope="nonSxS"
              xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
               <UninstallWindowsRE>true</UninstallWindowsRE>
               <OOBE>
                  <HideEULAPage>true</HideEULAPage>
                  <ProtectYourPC>1</ProtectYourPC>
                  <NetworkLocation>Work</NetworkLocation>
               </OOBE>
    </component>
        </settings>  
    </unattend>
    
  8. Безопасно извлеките диск Windows To Go.

  9. Запустите главный компьютер, находящийся в пределах сети либо вне нее и загрузите рабочее пространство Windows To Go.

    1. Если задействуется локальный главный компьютер с прямым сетевым подключением, выполните вход с вашими учетными данными домена.

    2. Если вы работаете из-за пределов сети, подключитесь к проводной или беспроводной сети с доступом в Интернет, а затем снова выполните вход, используя свои учетные данные домена.

    Примечание  

    В зависимости от конфигурации DirectAccess вам может поступить предложение вставить свою смарт-карту для выполнения входа в домен.

     

Теперь вы должны иметь доступ к сетевым ресурсам своей организации и можете использовать рабочее пространство Windows To Go точно так же, как обычный локальный персональный компьютер.

Включите защиту BitLocker для своего диска Windows To Go.

Включение BitLocker на диске Windows To Go обеспечит защиту ваших данных от несанкционированного доступа, а в случае кражи или потери диска Windows To Go посторонний человек не сможет легко получить конфиденциальные данные или использовать рабочее пространство для получения доступа к защищенным ресурсам вашей организации. Если BitLocker включен, то при каждой загрузке диска Windows To Go вам будет предложено указать пароль BitLocker для разблокировки диска. В следующей процедуре описаны инструкции по включению BitLocker на вашем диске Windows To Go:

Необходимые условия для включения защиты BitLocker

  • Диск Windows To Go, который можно успешно подготовить для работы.

  • Компьютер под управлением Windows 8, настроенный как главный компьютер с Windows To Go.

  • Изучите следующие параметры групповой политики для шифрования диска с помощью BitLocker и измените конфигурацию по мере необходимости.

    \Компоненты Windows\Шифрование диска BitLocker\Диски операционной системы\Требуется дополнительная проверка подлинности при запуске. Эта политика позволяет использовать предохранитель ключа пароля с диском операционной системы; для настройки BitLocker из рабочего пространства Windows To Go эта политика должна быть включена. Этот параметр политики позволяет указать, должен ли BitLocker требовать дополнительной проверки подлинности каждый раз при запуске компьютера, независимо от того, используется BitLocker вместе с доверенным платформенным модулем (TPM) или без него. Необходимо включить этот параметр и установить флажок Разрешить работу BitLocker без совместимого модуля TPM и затем включите параметр Настроить использование паролей для дисков операционной системы.

    \Компоненты Windows\Шифрование диска BitLocker\Диски операционной системы\Настроить использование паролей для дисков операционной системы. Этот параметр политики разрешает использование паролей для разблокирования дисков операционной системы, защищенных BitLocker, и предоставляет способы настройки требований к сложности и длине паролей для рабочих пространств Windows To Go. Чтобы параметр требований к сложности паролей задействовался, также должен быть включен параметр групповой политики Пароль должен соответствовать требованиям сложности, расположенный в ветке Конфигурация компьютера\Параметры Windows\Параметры безопасности\Политики учетных записей\Политика паролей\.

    \Компоненты Windows\Шифрование диска BitLocker\Диски операционной системы\Включить на планшетах требование ввода с клавиатуры до загрузки для проверки подлинности BitLocker. Этот параметр политики позволяет пользователям включить параметры проверки подлинности, которые требуют ввода из среды предварительной загрузки, даже если платформа сообщает об отсутствии такой возможности. Если этот параметр не включен, пароли невозможно будет использовать для разблокировки дисков операционной системы, защищенных BitLocker.

Вы можете включить защиту BitLocker на дисках Windows To Go, прежде чем передать их пользователям в ходе процесса подготовки компьютеров, или разрешите конечным пользователям самостоятельно применять защиту BitLocker к имеющимся у них дискам. Для обоих случаев предлагается пошаговая процедура.

Включение BitLocker во время подготовки гарантирует, что образ операционной системы всегда будет защищен BitLocker. Включив BitLocker в процессе подготовки, можно значительно сократить время, требуемое для шифрования диска, задействовав BitLocker после настройки диска и перед применением образа. Если вы примените этот метод, потребуется предоставить пользователям пароль BitLocker при передаче им рабочего пространства Windows To Go. Кроме того, следует дать пользователям инструкцию — как можно скорее сменить пароль BitLocker после загрузки своего рабочего пространства (это можно сделать с правами обычного пользователя).

Чтобы задействовать защиту BitLocker после распространения дисков, пользователям самим придется включить BitLocker. Это значит, что рабочие пространства Windows To Go не будут защищены, пока пользователь не включит BitLocker. Для включения BitLocker требуются права администратора в рабочем пространстве Windows To Go. Подробнее о BitLocker см. в разделе Обзор BitLocker.

Ключи восстановления BitLocker

Ключи восстановления BitLocker — ключи, которые можно использовать для разблокирования диска, защищенного BitLocker, если стандартный метод разблокирования не сработал. Рекомендуется делать резервные копии ключей восстановления BitLocker в доменных службах Active Directory (AD DS). Если вы не хотите использовать службы AD DS для хранения ключей восстановления, можете распечатать их или сохранить в файле. Ключи восстановления BitLocker управляются по-разному, в зависимости от момента включения BitLocker.

  • Если защита BitLocker включена во время подготовки диска, ключи восстановления BitLocker будут храниться в учетной записи компьютера, использованного для подготовки дисков. Если резервные копии ключей восстановления не хранятся в доменных службах Active Directory, то для каждого диска ключи восстановления нужно будет распечатать или сохранить в файл. ИТ-администратор должен отслеживать, какие ключи были назначены разным дискам Windows To Go.

  • Предупреждение  

    Если защита BitLocker была включена после распространения дисков, резервные копии ключей восстановления будут скопированы в службы AD DS под учетной записью компьютера рабочего пространства. Если резервные копии ключей восстановления не хранятся в доменных службах Active Directory, то сам пользователь может распечатать ключи восстановления или сохранить их в файл. Если ИТ-администратор хочет иметь центральный реестр ключей восстановления, то следует внедрить процесс, благодаря которому пользователи будут предоставлять ключи в ИТ-отдел.

     

Mt186418.wedge(ru-ru,VS.85).gifВключение BitLocker во время подготовки диска

  1. Запустите главный компьютер с Windows 8.

  2. Вставьте свой диск Windows To Go.

  3. Запустите окно Windows PowerShell с повышенными привилегиями, щелкнув правой кнопкой мыши ярлык Windows PowerShell на панели задач и выбрав команду Запустить от имени администратора.

  4. Подготовьте диск Windows To Go, используя следующие командлеты:

    Примечание  

    Если вы применили ручной метод создания рабочего пространства у вас уже должен быть подготовленный диск Windows To Go. Если это так, вы можете перейти к следующему шагу.

     

    # The following command will set $Disk to all USB drives with >20 GB of storage
    
    $Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
    
    #Clear the disk. This will delete any data on the disk. (and will fail if the disk is not yet initialized. If that happens, simply continue with ‘New-Partition…) Validate that this is the correct disk that you want to completely erase.
    # To skip the confirmation prompt, append –confirm:$False
    Clear-Disk –InputObject $Disk[0] -RemoveData 
    
    # This command initializes a new MBR disk 
    Initialize-Disk –InputObject $Disk[0] -PartitionStyle MBR
    
    # This command creates a 350 MB system partition
    $SystemPartition = New-Partition –InputObject $Disk[0] -Size (350MB) -IsActive 
    
    # This formats the volume with a FAT32 Filesystem
    # To skip the confirmation dialog, append –Confirm:$False
    Format-Volume -NewFileSystemLabel "UFD-System" -FileSystem FAT32 `
    -Partition $SystemPartition
    
    # This command creates the Windows volume using the maximum space available on the drive. The Windows To Go drive should not be used for other file storage.
    $OSPartition = New-Partition –InputObject $Disk[0] -UseMaximumSize
    Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS `
    -Partition $OSPartition
    
    # This command assigns drive letters to the new drive, the drive letters chosen should not already be in use.
    Set-Partition -InputObject $SystemPartition -NewDriveLetter "S"
    Set-Partition -InputObject $OSPartition -NewDriveLetter "W"
    
    # This command toggles the NODEFAULTDRIVELETTER flag on the partition which prevents drive letters being assigned to either partition when inserted into a different computer.
    Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
    

    Затем необходимо применить образ операционной системы, который нужно использовать с Windows To Go, к разделу операционной системы, созданной вами на диске (это может занять 30 минут и больше, в зависимости от размера образа и скорости вашего USB-подключения). Следующая команда показывает, как это можно выполнить с помощью средства командной строки для обслуживания образов развертывания и управления ими (DISM).

    Совет  

    Номер индекса должен указывать на допустимый образ Корпоративной версии в WIM-файле.

     

    #The WIM file must contain a sysprep generalized image.
    dism /apply-image /imagefile:n:\imagefolder\deploymentimages\mywtgimage.wim /index:1 /applydir:W:\ 
    
  5. В рамках того же сеанса PowerShell используйте следующий командлет для добавления ключа восстановления на диск:

    $BitlockerRecoveryProtector = Add-BitLockerKeyProtector W: -RecoveryPasswordProtector
    
  6. Затем запустите следующие командлеты для сохранения ключа восстановления в файл:

    #The BitLocker Recovery key is essential if for some reason you forget the BitLocker password
    #This recovery key can also be backed up into Active Directory using manage-bde.exe or the
    #PowerShell cmdlet Backup-BitLockerKeyProtector.
    $RecoveryPassword = $BitlockerRecoveryProtector.KeyProtector.RecoveryPassword
    $RecoveryPassword > WTG-Demo_Bitlocker_Recovery_Password.txt
    
  7. После этого примените следующие командлеты, чтобы добавить пароль в качестве безопасной строки. Если пароль опустить, то командлет предложит ввести пароль перед продолжением операции.

    # Create a variable to store the password
    $spwd = ConvertTo-SecureString -String <password> -AsplainText –Force 
    Enable-BitLocker W: -PasswordProtector $spwd 
    

    Предупреждение  

    Чтобы средство BitLocker шифровало только занятое на диске пространство, добавьте параметр –UsedSpaceOnly в командлет Enable-BitLocker. BitLocker будет шифровать добавляемые данные по мере их появления. Использование этого параметра ускорит процесс подготовки диска, так как потребуется зашифровать меньшую часть диска. Если время для вас критично и ждать завершения операции шифрования невозможно, вы можете безопасно извлечь диск Windows To Go в ходе выполнения шифрования. Когда диск будет вставлен в компьютер в следующий раз, у вас будет запрошен пароль BitLocker. После указания пароля процесс шифрования будет продолжен. В этом случае расскажите вашим пользователям о том, что шифрование BitLocker все еще выполняется и они могут использовать рабочее пространство, пока шифрование завершается в фоновом режиме.

     

  8. Скопируйте численный пароль восстановления и сохраните его в файл в безопасном месте. Пароль восстановления потребуется в случае потери основного пароля.

    Предупреждение  

    Если параметр групповой политики Выбрать способ восстановления извлекаемых дисков, защищенных BitLocker задан на архивацию резервных данных в доменные службы Active Directory, эти данные для восстановления диска будут храниться под учетной записью главного компьютера, используемого для применения ключа восстановления.

    Если вы хотите, чтобы данные для восстановления хранились под учетной записью рабочего пространства Windows To Go, вы можете включить BitLocker из рабочего пространства Windows To Go с помощью мастера установки BitLocker в панели управления BitLocker, как описано в разделе Включение BitLocker после распространения диска.

     

  9. Безопасно извлеките диск Windows To Go.

Диски Windows To Go теперь готовы к распространению для пользователей и защищены с помощью BitLocker. Распространяя диски, сообщите пользователям следующее.

  • Начальный пароль BitLocker, который им потребуется для загрузки дисков.

  • Текущее состояние процесса шифрования диска.

  • Инструкции по изменению пароля BitLocker после первой загрузки.

  • Инструкции о том, как при необходимости получить пароль восстановления. Это может ускорить процесс обращения в службу поддержки, на сайт с автоматизированным получением пароля, или к ответственному лицу.

Mt186418.wedge(ru-ru,VS.85).gifВключение защиты BitLocker после распространения диска

  1. Вставьте диск Windows To Go в главный компьютер (который в данный момент выключен), затем включите компьютер и загрузите свое рабочее пространство Windows To Go.

  2. Нажмите Windows logo key+W, чтобы открыть окно Параметры поиска, введите BitLocker и затем выберите элемент «Шифрование диска BitLocker».

  3. Будут показаны диски в рабочем пространстве, щелкните Включить BitLocker для диска «C:». Откроется мастер установки BitLocker.

  4. Следуйте инструкциям мастера установки BitLocker и выберите защиту с паролем.

Примечание  

Если вы не настроили параметр групповой политики \Компоненты Windows\Шифрование диска BitLocker\Диски операционной системы\Требуется дополнительная проверка подлинности при запуске так, чтобы задавался параметр Разрешить работу BitLocker без совместимого модуля TPM, вы не сможете включить BitLocker из рабочего пространства Windows To Go.

 

Пример скрипта расширенного развертывания

Следующий пример скрипта поддерживает подготовку нескольких дисков Windows To Go и настройку автономного присоединения к домену.

Пример скрипта создает файл автоматической установки, который упрощает процесс развертывания, чтобы конечному пользователю не пришлось вводить дополнительные параметры конфигурации перед первым запуском диска Windows To Go.

Необходимые условия для выполнения примера скрипта расширенного развертывания

  • Чтобы запустить этот пример скрипта, необходимо открыть сеанс Windows PowerShell с правами администратора на компьютере, присоединенном к домену, используя учетную запись с разрешением на создание учетных записей домена.

  • Для этого скрипта нужно выполнить автономное присоединение к домену, поскольку скрипт не создает учетную запись локального администратора. Однако факт членства в домене автоматически сделает группу «Администраторы домена» частью локальной группы администраторов. Проверьте политики своего домена. Если используется DirectAccess, необходимо добавить в команду djoin.exe параметр policynames и, возможно, certtemplate.

  • Скрипт должен использовать буквы диска, так что вы можете подготовить только половину из тех дисков, для которых есть свободные буквы дисков.

Запуск примера скрипта расширенного развертывания

  1. Скопируйте весь пример кода под названием «Windows To Go multiple drive provisioning sample script» в файл сценария PowerShell (.ps1).

  2. Внесите изменения, необходимые для вашего развертывания, и сохраните файл.

  3. Настройте политику выполнения скриптов PowerShell. По умолчанию политика выполнения PowerShell установлена как Restricted (ограниченное выполнение); это означает, что скрипты не будут запускаться, пока им явно не будет дано разрешение. Чтобы настроить политику выполнения скриптов PowerShell, запустите следующую команду в окне PowerShell с повышенными правами:

    Set-ExecutionPolicy RemoteSigned
    

    Политика выполнения RemoteSigned предотвращает запуск на компьютере неподписанных скриптов из Интернета, но разрешает запуск скриптов, созданных локально. Дополнительные сведения о политиках выполнения см. в разделе Set-ExecutionPolicy.

    Совет  

    Чтобы получить онлайн-справку по любому командлету Windows PowerShell, независимо от того, установлен ли он локально или нет, введите следующий командлет, заменив <cmdlet-name> на имя интересующего вас командлета:

    Get-Help <cmdlet-name> -Online

    Эта команда Windows PowerShell открывает раздел онлайн-версии справки в браузере по умолчанию.

     

Пример скрипта подготовки нескольких дисков Windows To Go

<#
.SYNOPSIS
Windows To Go multiple drive provisioning sample script.

.DESCRIPTION
This sample script will provision one or more Windows To Go drives, configure offline domain join (using random machine names) and provides an option for BitLocker encryption. To provide a seamless first boot experience, an unattend file is created that will set the first run (OOBE) settings to defaults. To improve performance of the script, copy your install image to a local location on the computer used for provisioning the drives.

.EXAMPLE
.\WTG_MultiProvision.ps1 -InstallWIMPath c:\companyImages\amd64_enterprise.wim
provision drives connected to your machine with the provided image.
#>
param (
    [parameter(Mandatory=$true)]
    [string]
    #Path to install wim.  If you have the full path to the wim or want to use a local file.
    $InstallWIMPath,

    [string]
    #Domain to which to join the Windows To Go workspaces.
    $DomainName
)


<#
  In order to set BitLocker Group Policies for our offline WTG image we need to create a Registry.pol file
  in the System32\GroupPolicy folder. This file requires binary editing, which is not possible in PowerShell
  directly so we have some C# code that we can use to add a type in our PowerShell instance that will write
  the data for us.
#>
$Source = @"
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace MS.PolicyFileEditor
{
    //The PolicyEntry represents the DWORD Registry Key/Value/Data entry that will
    //be written into the file.
    public class PolicyEntry
    {
        private List<byte> byteList;

        public string KeyName { get; set; }
        public string ValueName { get; set; }

        internal List<byte> DataBytes
        {
            get { return this.byteList; }
        }

        public PolicyEntry(
            string Key,
            string Value,
            uint data)
        {
            KeyName = Key;
            ValueName = Value;
            this.byteList = new List<byte>();
            byte[] arrBytes = BitConverter.GetBytes(data);
            if (BitConverter.IsLittleEndian == false) { Array.Reverse(arrBytes); }
            this.byteList.AddRange(arrBytes);
        }

        ~PolicyEntry()
        {
            this.byteList = null;
        }
    }

    public class PolicyFile
    {
        private Dictionary<string, PolicyEntry> entries;

        public List<PolicyEntry> Entries
        {
            get
            {
                List<PolicyEntry> policyList = new List<PolicyEntry>(entries.Values);
                return policyList;
            }
        }

        public PolicyFile()
        {
            this.entries = new Dictionary<string, PolicyEntry>(StringComparer.OrdinalIgnoreCase);
        }

        public void SetDWORDValue(string key, string value, uint data)
        {
            PolicyEntry entry = new PolicyEntry(key, value, data);
            this.entries[entry.KeyName + "\\" + entry.ValueName] = entry;
        }

        public void SaveFile(string file)
        {
            using (FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write))
            {
                fs.Write(new byte[] { 0x50, 0x52, 0x65, 0x67, 0x01, 0x00, 0x00, 0x00 }, 0, 8);
                byte[] openBracket = UnicodeEncoding.Unicode.GetBytes("[");
                byte[] closeBracket = UnicodeEncoding.Unicode.GetBytes("]");
                byte[] semicolon = UnicodeEncoding.Unicode.GetBytes(";");
                byte[] nullChar = new byte[] { 0, 0 };

                byte[] bytes;

                foreach (PolicyEntry entry in this.Entries)
                {
                    fs.Write(openBracket, 0, 2);
                    bytes = UnicodeEncoding.Unicode.GetBytes(entry.KeyName);
                    fs.Write(bytes, 0, bytes.Length);
                    fs.Write(nullChar, 0, 2);

                    fs.Write(semicolon, 0, 2);
                    bytes = UnicodeEncoding.Unicode.GetBytes(entry.ValueName);
                    fs.Write(bytes, 0, bytes.Length);
                    fs.Write(nullChar, 0, 2);

                    fs.Write(semicolon, 0, 2);
                    bytes = BitConverter.GetBytes(4);
                    if (BitConverter.IsLittleEndian == false) { Array.Reverse(bytes); }
                    fs.Write(bytes, 0, 4);

                    fs.Write(semicolon, 0, 2);
                    byte[] data = entry.DataBytes.ToArray();
                    bytes = BitConverter.GetBytes((uint)data.Length);
                    if (BitConverter.IsLittleEndian == false) { Array.Reverse(bytes); }
                    fs.Write(bytes, 0, 4);

                    fs.Write(semicolon, 0, 2);
                    fs.Write(data, 0, data.Length);
                    fs.Write(closeBracket, 0, 2);
                }
                fs.Close();
            }
        }
    }
}
"@

########################################################################
# Helper Functions
Function CreateUnattendFile {
param (
    [parameter(Mandatory=$true)]
    [string]
    $Arch
)

    if ( Test-Path "WtgUnattend.xml" ) {
      del .\WtgUnattend.xml
    }
    $unattendFile = New-Item "WtgUnattend.xml" -type File
    $fileContent = @"
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="$Arch" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <ProtectYourPC>1</ProtectYourPC>
                <NetworkLocation>Work</NetworkLocation>
            </OOBE>
        </component>
        <component name="Microsoft-Windows-International-Core" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="$Arch">
          <InputLocale>en-US</InputLocale>
          <SystemLocale>en-US</SystemLocale>
          <UILanguage>en-US</UILanguage>
          <UserLocale>en-US</UserLocale>
        </component>
        <component name="Microsoft-Windows-WinRE-RecoveryAgent" processorArchitecture="$Arch" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <UninstallWindowsRE>true</UninstallWindowsRE>
        </component>
    </settings>
</unattend>
"@

    Set-Content $unattendFile $fileContent

    #return the file object
    $unattendFile 
}

Function CreateRegistryPolicyFile {

    $saveFileLocaiton = "" + (get-location) + "\registry.pol"

    $policyFile = New-Object MS.PolicyFileEditor.PolicyFile 
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseAdvancedStartup", 1)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "EnableBDEWithNoTPM", 1)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPM", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPMPIN", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPMKey", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "UseTPMKeyPIN", 2)
    $policyFile.SetDWORDValue("Software\Policies\Microsoft\FVE", "OSEnablePrebootInputProtectorsOnSlates", 1)
    $policyFile.SaveFile($saveFileLocaiton) 

    $saveFileLocaiton
}

########################################################################

if ( Test-Path $installWIMPath ){
  write-output "Image: $installWIMPath"
}
else{
  write-output "Unable to find image: $installWIMPath" "Exiting the script"
  exit
}

if ( (Get-WindowsImage -ImagePath $InstallWIMPath -Index 1).Architecture -eq 0 ){
    $Arch = "x86"
}
else{
    $Arch = "amd64"
}

$starttime = get-date

#Add type information for modifing the Registy Policy file
Add-Type -TypeDefinition $Source -Language CSharp  

#Create helper files
$unattendFile = CreateUnattendFile -Arch $Arch
$registryPolFilePath = CreateRegistryPolicyFile

$Disks = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and -not $_.IsBoot }
if ($Disks -eq $null)
{
    Write-Output "No USB Disks found, exiting the script.  Please check that you have a device connected."
    exit
}

#We want to make sure that all non-boot connected USB drives are online, writeable and cleaned.
#This command will erase all data from all USB drives larger than 20Gb connected to your machine
#To automate this step you can add: -confirm:$False
Clear-Disk –InputObject $Disks -RemoveData -erroraction SilentlyContinue

# Currently the provisioning script needs drive letters (for dism and bcdboot.exe) and the script is more
# reliable when the main process determines all of the free drives and provides them to the sub-processes.
# Use a drive index starting at 1, since we need 2 free drives to proceed. (system & operating system)
$driveLetters =    68..90 | ForEach-Object { "$([char]$_):" } |
    Where-Object {
        (new-object System.IO.DriveInfo $_).DriveType -eq 'noRootdirectory'
    }
$driveIndex = 1

foreach ($disk in $Disks)
{

    if ( $driveIndex  -lt $driveLetters.count )
    {
        Start-Job -ScriptBlock {
            $installWIMPath = $args[0]
            $unattendFile = $args[1]
            $Disk = $args[2]
            $SystemDriveLetter = $args[3]
            $OSDriveLetter = $args[4]
            $DomainName = $args[5]
            $policyFilePath = $args[6]

            #For compatibility between UEFI and legacy BIOS we use MBR for the disk.
            Initialize-Disk –InputObject $Disk -PartitionStyle MBR

            #A short sleep between creating a new partition and formatting helps ensure the partition
            #is ready before formatting.
            $SystemPartition = New-Partition –InputObject $Disk -Size (350MB) -IsActive
            Sleep 1
            Format-Volume -Partition $SystemPartition -FileSystem FAT32 -NewFileSystemLabel "UFD-System" -confirm:$False | Out-Null

            $OSPartition = New-Partition –InputObject $Disk -UseMaximumSize
            Sleep 1
            Format-Volume -NewFileSystemLabel "UFD-Windows" -FileSystem NTFS -Partition $OSPartition -confirm:$False | Out-Null


            #The No default drive letter prevents other computers from displaying contents of the drive when connected as a Data drive.    
            Set-Partition -InputObject $OSPartition -NoDefaultDriveLetter $TRUE
            Set-Partition -InputObject $SystemPartition -NewDriveLetter $SystemDriveLetter 
            Set-Partition -InputObject $OSPartition -NewDriveLetter $OSDriveLetter 

            dism /apply-image /index:1 /applydir:${OSDriveLetter}:\ /imagefile:$InstallWIMPath
            if (!$?){
                write-output "DISM image application failed, exiting."
                exit
            }

            copy $unattendFile ${OSDriveLetter}:\Windows\System32\sysprep\unattend.xml

            #Create the directory for the Machine Registry Policy file, surpressing the output and any error
            #and copy the pre-created Registry.pol file to that location.
            write-output "Set BitLocker default policies for WindowsToGo"
            md ${OSDriveLetter}:\windows\System32\GroupPolicy\Machine | out-null
            copy $policyFilePath ${OSDriveLetter}:\windows\System32\GroupPolicy\Machine

            #modify the registry of the image to set SanPolicy.  This is also where you could set the default 
            #keyboard type for USB keyboards.
            write-output "Modify SAN Policy"
            reg load HKLM\PW-System ${OSDriveLetter}:\Windows\System32\config\SYSTEM > info.log
            reg add HKLM\PW-System\ControlSet001\Services\Partmgr\Parameters /v SanPolicy /d 4 /t REG_DWORD /f > info.log
            reg unload HKLM\PW-System > info.log

            #We're running bcdboot from the newly applied image so we know that the correct boot files for the architecture and operating system are used.
            #This will fail if we try to run an amd64 bcdboot.exe on x86.
            cmd /c "$OSDriveLetter`:\Windows\system32\bcdboot $OSDriveLetter`:\Windows /f ALL /s $SystemDriveLetter`:"
            if (!$?){
                write-output "BCDBOOT.exe failed, exiting script."
                exit
            }

            <#
               If a domain name was provided to the script, we will create a random computer name
               and perform an offline domain join for the device.  With this command we also supress the
               Add User OOBE screen.
            #>
            if ($DomainName)
            {
                #using get-random, we will create a random computer name for the drive. 
                $suffix = Get-Random
                $computername = "wtg-" + $suffix
                djoin /provision /domain $DomainName /savefile ${OSDriveLetter}:\tempBLOB.bin /reuse /machine $computername 
                djoin /requestodj /loadfile ${OSDriveLetter}:\tempBLOB.bin /windowspath  ${OSDriveLetter}:\windows > info.log
                del ${OSDriveLetter}:\tempBLOB.bin

                #add offline registry key to skip user account screen
                write-output "Add Offline Registry key for skipping UserAccount OOBE page."
                reg load HKLM\PW-Temp${OSDriveLetter}   ${OSDriveLetter}:\Windows\System32\config\SOFTWARE > info.log
                reg add HKLM\PW-Temp${OSDriveLetter}\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /d 1 /t REG_DWORD > info.log
                reg unload HKLM\PW-Temp${OSDriveLetter} > info.log
            }

            try
            {
                Write-VolumeCache -DriveLetter ${OSDriveLetter}
                Write-Output "Disk is now ready to be removed."
            }
                catch [System.Management.Automation.CommandNotFoundException]
            {
                write-output "Flush Cache not supported, Be sure to safely remove the WTG device."
            }
 

       } -ArgumentList  @($installWIMPath, $unattendFile, $disk, $driveLetters[$driveIndex-1][0], $driveLetters[$driveIndex][0], $DomainName, $registryPolFilePath)
    }
    $driveIndex  = $driveIndex  + 2
}
#wait for all threads to finish
get-job | wait-job

#print output from all threads
get-job | receive-job

#delete the job objects
get-job | remove-job


#Cleanup helper files
del .\WtgUnattend.xml
del .\Registry.pol

$finishtime = get-date
$elapsedTime = new-timespan $starttime $finishtime
write-output "Provsioning completed in: $elapsedTime  (hh:mm:ss.000)"
write-output "" "Provisioning script complete."

Вопросы при использовании разных раскладок USB-клавиатуры в Windows To Go

Перед подготовкой диска Windows To Go следует учесть следующее — будет ли ваше рабочее пространство загружаться на компьютере с USB-клавиатурой без английского алфавита. Как описано в статье базы знаний 927824, существует известная проблема, когда определенный идентификатор Plug and Play приводит к неправильному определению клавиатуры как «English 101 key». Чтобы избежать этой проблемы, следует изменить скрипт подготовки и задать там параметры переопределения клавиатуры.

В скрипте подготовки PowerShell после операции применения образа вы можете добавить следующие команды, которые правильно зададут параметры клавиатуры. В следующем примере задается раскладка японской клавиатуры:

            reg load HKLM\WTG-Keyboard ${OSDriveLetter}:\Windows\System32\config\SYSTEM > info.log
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v LayerDriver /d JPN:kbd106dll /t REG_SZ /f
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v OverrideKeyboardIdentifier /d PCAT_106KEY /t REG_SZ /f 
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v OverrideKeyboardSubtype /d 2 /t REG_DWORD /f
            reg add HKLM\WTG-Keyboard\ControlSet001\Services\i8042prt\Parameters /v OverrideKeyboardType /d 7 /t REG_DWORD /f 
            reg unload HKLM\WTG-Keyboard

Связанные разделы

Обзор функций Windows To Go

Форумы по Windows 10

Подготовка организации к внедрению Windows To Go

Вопросы развертывания для Windows To Go

Вопросы безопасности и защиты данных в Windows To Go

Обзор BitLocker