понедельник, 27 июня 2016 г.

Подготовка образа Windows Thin PC и установка при помощи VMware Mirage (часть III)

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

Первая часть: http://blog.vmpress.org/2016/05/windows-thin-pc-vmware-mirage-i.html
Вторая часть: http://blog.vmpress.org/2016/06/windows-thin-pc-vmware-mirage-ii.html

Настройка сервера Mirage

Перед тем, как создать образ Mirage и распространить его на рабочие станции вам потребуется выполнить ряд настроек на самом сервере.

Я пропушу описание процедуры установки ролей Mirage, отмечу, что для тестов вам потребуется в обязательном порядке Microsoft SQL Server, Mirage Management Server, Mirage Server, Mirage Management Console, и, опционально, Mirage Web Management Server, если вы планируете использовать функцию Self-Service Portal, для выбора и установки эталонного образа с целевого компьютера.

После установки VMware Mirage выполните следующие настройки.

Во-первых, создайте новую CVD Policy, которая будет назначаться всем устройствам с ОС ThinPC. В политике на вкладке Advanced Options включите параметр Layer management only - это позволит не выполнять резервное копирование данных с целевых устройств, и тем самым сэкономить дисковое пространство на сервере. Поскольку на целевых устройствах не предполагается хранить никаких пользовательских данных и устанавливать дополнительное ПО, то и нет смысла их бекапить.

Во-вторых, добавьте драйверы устройств и создайте новый профиль драйверов, указав на вкладке Rules правило OS Equals Win7 Embedded. Это позволит клиенту Mirage загружать необходимые драйверы при установке эталонного образа.

Если вы планируете использовать защищенное подключение к серверу Mirage, добавьте цифровой сертификат в настройках сервера (System Configuration -> Servers -> <Сервер Mirage> -> Configure).

Добавьте информацию о домене, в который будут вводиться компьютеры. Для этого щелкните правой кнопкой мыши по System Configuration и в контекстном меню выберите Settings.

На вкладке General в области Join Domain Account укажите учетную запись, из-под которой будет выполняться ввод компьютера в домен. Для этих целей лучше создать отдельную учетную запись пользователя, которая имеет права Reset Password, Write all properties, Delete, Create computer objects и Delete computer objects.

Если вы все сделано правильно, то в консоли VMware Mirage Console в окне Pending Devices появится компьютер с установленным Windows Thin PC, который можно использовать в качестве источника для эатлонного образа (Reference CVD). Щелкните правой кнопкой мыши по компьютеру и в контекстном меню выберите Create a new Reference CVD.

В открывшемся окне Activate Device выберите Create Reference CVD for Base Layer capture и нажмите Next.

В окне выбора политики Select CVD Policy выберите политику по умолчанию VMware Mirage default CVD policy и нажмите Next.

В окне Select a Base Layer выберите Don't use a Base Layer и нажмите Next.

В окне Select Target Volume выберите том, на котором будет сохранен образ, и нажмите Next.

Завершите мастер и нажмите Finish для начала процедуры централизации компьютера.

После завершения процедуры централизации перейдите на вкладку Reference CVDs, щелкните правой кнопкой мыши по компьютеру и в контекстном меню выберите Create Base Layer...

В открышемся окне выберите Create a new layer, введите имя, описание и версию нового эталонного образа. Нажмите Next.

В окне Check Compatibility проверьте, что компьютер прошел проверку и нажмите Next.

Нажмите Finish для начала создания базового образа. Отслеживать статус процедуры создания образа можно на вкладке Task Monitoring.

Подготовка загрузочного образа

Для того, чтобы применить полученный образ на целевые компьютеры нам потребуется сначала загрузить их, используя специальный установочный образ WinPE. Для создания образа используется сценарий BuildMirageWinPE.cmd, который поставляется вместе с дистрибутивом VMware Mirage. Для создания образа используйте отдельный компьютер с установленным пакетом Windows Assessment and Deployment Kit for Windows 8.1.

Распакуйте архив Mirage.WinPE.x64.119795.zip. Полученный каталог содержит несколько вложенных каталогов и файлов.

Скопируйте в каталог Drivers папки с драйверами устройств, которые вы использовали при подготовке эталонного образа.

Если вы планируете использовать безопасное подключение к серверу Mirage, скопируйте в папку Certificates сертификаты Удостоверяющего Центра. Опционально, если вы настроили Self-service Provisioning, то также скопируйте сертификаты также в каталог Certificates\Browser, чтобы браузер не выдавал предупреждений.

Отредактируйте файл BuildMirageWinPE.cmd, указав в нем правильные значения переменных:
  • SERVER_ADDRESS - IP-адрес или DNS имя сервера Mirage для подключения клиентов.
  • SERVER_PORT - порт для подключения (по умолчанию, 8000).
  • USE_SSL - использовать ли SSL для подключения клиентов к серверу Mirage (TRUE или FALSE).
  • USE_SELF_SERVICE_PROVISIONING - разрешить ли клиентам самостоятельно выполнять установку ОС на устройства (TRUE или FALSE). В случае TRUE, после загрузки, автоматически запуститься браузер Mozilla Firefox и подключиться к серверу Mirage Self-Service Portal.
  • WEB_SELF_SERVICE_PROVISIONING_URL - адрес веб-сервера Mirage Self-Service Portal (например, https://mirage.domain.local:7443/ssp).
  • LANGUAGE - язык оболочки WinPE. Можно оставить пустым.
  • OUTPUT_PATH - путь, в котором будет создан каталог с файлами .wim и .iso с образами WinPE.

Запустите скрипт BuildMirageWinPE.cmd, используя права локального администратора. Если вы корректно указали настройки, то через несколько минут вы получите загрузочный образ в виде .ISO файла и .WIM файла (для установки через WDS).

Настройка сервера WDS

Если с загрузкой компьютера с помощью .ISO все более-менее понятно, то на варианте с WDS стоит остановиться чуть подробнее.

Сервер WDS может быть установлен как на выделенном компьютере, так и на сервере Mirage. Для работы потребуется оба компонента WDS (Deployment Server и Transport Server).

После установки WDS выполните следующие настройки. В свойствах сервера на вкладке PXE Response установите параметр Respond to all client computers (known and unknown). Это позволит любому клиенту (и авторизованному и неавторизованному) получать загрузочный образ с сервера WDS.

На вкладке Boot укажите путь к загрузочному .WIM образу (x86 architecture), который был ранее создан при помощи BuildMirageWinPE.cmd. Также установите параметры Always continue the PXE boot, чтобы клиент автоматически продолжал загрузку по PXE.

Настройка DHCP

Для передачи информации о WDS сервере в DHCP должны быть настроены следующие опции:
  • Опция 66 тип String - IP-адрес или DNS имя WDS сервера.
  • Опция 67 тип String - путь к загрузочному файлу, для 64-разрядных ОС путь "boot\x64\pxeboot.com", для 32-разрядных: "boot\x86\pxeboot.com".

Установка эталонного образа

Теперь достаточно перенастроить целевые компьютеры на загрузку по PXE, чтобы они получили загрузочный образ по сети. После завершения загрузки у вас есть два варианта, как установить ОС на клиентские компьютеры.

Если в скрипте BuildMirageWinPE.cmd вы разрешили использование Self-Service Portal, и соответствующая роль развернута на сервере Mirage, то после загрузки у вас откроется web-браузер Mozilla Firefox с окном аутентификации на портале самообслуживания. Указав учетную запись, которой присвоена роль Web Image Manager в консоли Mirage, администратор сможет выполнить установку образа на компьютер и ввести его в домен. Данный вариант походит, если вам необходимо установить ОС на небольшое количество компьютеров, либо вы хотите делегировать эту задачу администратору на месте.

Второй вариант - воспользоваться мастером Device Provisioning в консоли Mirage Management Console. Этот вариант походит для централизованной установки ОС на большое количество компьютеров.

После копирования образа компьютер будет автоматически перезагружен и клиент Mirage завершит настройку образа.

После первоначальной установки ОС вы можете с легкостью обновлять образ на большом количестве компьютеров, используя консоль Mirage.

Как вы могли убедиться, связка VMware Mirage и Microsoft Windows Thin PC несет в себе ряд преимуществ, и может пригодиться, если вы планируете разворачивать VDI инфраструктуру на базе продуктов VMware и хотите использовать существующие ПК в качестве тонких клиентов. В случае необходимости внесения изменений в конфигурацию компьютереов или установки обновлений достаточно будет обновить эталонный компьютер и сохранить новую версию образа, после чего Mirage сможет загрузить его на все обслуживаемые компьютеры.

вторник, 14 июня 2016 г.

Подготовка образа Windows Thin PC и установка при помощи VMware Mirage (часть II)

Продолжаем готовить тонкий клиент на базе Windows ThinPC (первая часть по ссылке). Сегодня - установка дистрибутива на эталонный ПК и допиливание его до кондиции.

Эталонный ПК

Для создания эталонного образа при помощи VMware Mirage вам понадобится компьютер с установленным клиентом Mirage. В качестве компьютера можно использовать как физический ПК, так и виртуальную машину (важно, чтобы в подготовленном вами дистрибутиве присутствовал необходимый набор драйверов, например, на сетевой адаптер).

Для ВМ достаточно выделить небольшой объем ресурсов:
  • 2 vCPU.
  • 3 ГБ ОЗУ.
  • 24 ГБ жесткий диск.
  • сетевой адаптер E1000 или VMXNET3. 
Создайте машину и подключите созданный ранее ISO. Установка будет выполнена в автоматическом режиме и через некоторое время появится экран рабочего стола.

Установка ПО

Для тонкого клиента потребуется установить, по крайней мере, клиент VMware Horizon View Client и VMware Mirage Agent.

Установку клиента Horizon View можно выполнить из командной строки:
VMware-Horizon-Client-x86-yyy-xxxxxx.exe /s /v"/qn REBOOT=ReallySuppress VDM_SERVER=view01.company.local ADDLOCAL=Core,TSSO,USB"
, где VDM_Server - задает имя сервера View Connection по умолчанию;
ADDLOCAL - определяет перечень устанавливаемых компонентов дял клиента (Core - базовые компоненты, TSSO - сквозная SSO аутентификация с использованием учетной записи, под которой был выполнен вход, USB - поддержка проброса USB устройств).

Добавление сертификата УЦ

Если вы используете сертификаты, выданные корпоративным удостоверяющим центром, то для работы Horizon View Client и Mirage Client на компьютер потребуется импортировать соответствующий корневой сертификат. Сделать это можно из оснастки MMC Certificate Manager или из командной строки при помощи команды:
certutil -addstore root rootCA.crt
, где rootCA.crt - имя файла корневого сертификата.

Установка клиента Mirage

Для установки Mirage Agent требуется .Net Framework 4.0. Загрузите и установите .Net Framework 4.0 (автоновный установщик .Net Framework 4.0, не требующий подключение к интернету, можно загрузить отсюда: https://www.microsoft.com/en-US/download/details.aspx?id=17718). Установить .Net Framework можно из командной строки при помощи команды:
dotNetFx40_Full_x86_x64.exe /q

Сохраните клиент Mirage Client на компьютере. Для установки клиента из командной строки выполните:
MirageClient.x86.buildnumber.msi SERVERIP=<MirageServer>:<port> USESSLTRANSPORT=true /quiet
, где <MirageServer> - имя или IP-адрес сервера Mirage, например, mirage01.company.local;
<port> - порт для подключения (по умолчанию, 8000);
USESSLTRANSPORT=true - использовать защищенное SSL подключение.

Если все настроено корректно, то вскоре в диспетчере задач появится ярлык клиента Mirage, а сам клиент будет отображать статус Pending Assignment.

Дополнительные настройки

На текущем этапе компьютер уже готов для создания образа при помощи VMware Mirage, однако, вы можете выполнить ряд дополнительных настроек, таких как:
  • Настройка сценария, автоматически запускающегося после копирования образа на целевые компьютеры.
  • Настройка защиты от записи на диск при помощи File-Based Write Filter.
  • Настройка политик запуска приложений AppLocker.
  • Кастомизация интерфейса ОС.

Настройка сценария

Как и в случае с установкой ОС из дистрибутива, VMware Mirage предоставляет возможность запускать скрипт, позволяющий выполнить дополнительные настройки, после того, как образ будет скопирован на целевые компьютеры и они будут готовы для использования.

Для выполнения сценария создайте файл post_core_update.bat в каталоге "C:\ProgramData\Wanova\Mirage Service\". Например, следующий скрипт включает учетную запись локального администратора и настраивает автоматический вход в систему под локальной учетной записью User.
REM Activate Administrator account
net user Administrator /active:yes

REM Prevent User account from changing password and password expiration
net user User /Passwordchg:no
wmic path Win32_UserAccount where Name='User' set PasswordExpires=false

REM Enable User account auto logon
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d User /f
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "" /f

exit 0

В конце файла обязательно добавьте "exit 0", так клиент Mirage определит, что сценарий завершился без ошибок.

Настройка защиты от записи

Одной из интересных возможностей ОС Windows Embedded является функция защиты от записи File-Based Write Filter, которая позволяет обнулять все изменения, сделанные с ОС с момента загрузки, обеспечивая защиту ОС от вредоносного ПО и кривых рук пользователей.

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

Включение FBWF может приводит к возникновению ошибки во время загрузки ОС, поэтому выполните следующую команду на эталонном компьютере:
bcdedit.exe /set BOOTSTATUSPOLICY IgnoreAllFailures

Создайте файл fbwf-enable.cmd в каталоге "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Maintenance" со следующим содержанием:
fbwfmgr.exe /enable
fbwfmgr.exe /setthreshold 256
fbwfmgr.exe /addvolume C:
fbwfmgr.exe /addexclusion C: \Programdata\
fbwfmgr.exe /addexclusion C: \Users
, где /enable - включает FBWF при следующей загрузке;
/setthreshold - задает размер RAM-диска для буфера записи в МБ;
/addvolume - задает том, для которого следует включить FBWF;
/addexclusion - указывает каталоги, для которых не следует включать FBWF.

Также создайте еще один файл fbwf-disable.cmd в том же каталоге для отключения FBWF:
fbwfmgr.exe /disable

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

Настройка AppLocker

Настройте службу Application Identity на автоматический запуск.
sc config AppIDSvc start= auto
sc start AppIDSvc
Настройте политики Applocker из оснастки локальных групповых политик или создайте файл applockerpolicy.xml и импортируйте при помощи powershell.
import-module applocker
set-applockerpolicy C:\temp\applockerpolicy.xml

Пример файла политик, блокирующий запуск приложений из любых папок, кроме Program Files и Windows:
<AppLockerPolicy Version="1">
<RuleCollection Type="Exe" EnforcementMode="Enabled">
<FilePathRule Id="921cc481-6e17-4653-8f75-050b80acca20" Name="(Default Rule) All files located in the Program Files folder" Description="Allows members of the Everyone group to run applications that are located in the Program Files folder." UserOrGroupSid="S-1-1-0" Action="Allow">
<Conditions>
<FilePathCondition Path="%PROGRAMFILES%\*" />
</Conditions>
</FilePathRule>
<FilePathRule Id="a61c8b2c-a319-4cd0-9690-d2177cad7b51" Name="(Default Rule) All files located in the Windows folder" Description="Allows members of the Everyone group to run applications that are located in the Windows folder." UserOrGroupSid="S-1-1-0" Action="Allow">
<Conditions>
<FilePathCondition Path="%WINDIR%\*" />
</Conditions>
</FilePathRule>
<FilePathRule Id="fd686d83-a829-4351-8ff4-27c7de5755d2" Name="(Default Rule) All files" Description="Allows members of the local Administrators group to run all applications." UserOrGroupSid="S-1-5-32-544" Action="Allow">
<Conditions>
<FilePathCondition Path="*" />
</Conditions>
</FilePathRule>
</RuleCollection>
<RuleCollection Type="Msi" EnforcementMode="NotConfigured" />
<RuleCollection Type="Script" EnforcementMode="NotConfigured" />
<RuleCollection Type="Dll" EnforcementMode="NotConfigured" />
</AppLockerPolicy>

Кастомизация интерфейса ОС

Для отображения информации о системе (имя компьютера, IP адрес, версию клиента и т.д.) на экране вы можете использовать небольшую утилиту BGInfo.

BGInfo можно добавить в автозагрузку для автоматического обновления информации:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
bginfo = "C:\Program Files\bginfo\bginfo.exe" "C:\Program Files\bginfo\configuration.bgi" /timer=0
Файл конфигурации .bgi можно экспортировать из BGInfo.

Если вы хотите изменить изображение на экране входа в систему, то создайте новый параметр OEMBackground типа DWORD в реестре
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background\ и установите его значение в 0x1. Затем скопируйте в каталог %windir%\System32\oobe\info\backgrounds\ файл с изображением в формате jpg и переименуйте его в BackgroundDefault.jpg для использования в качестве изображения по умолчанию для нестандартных разрешений экрана или в Background<разрешение>.jpg - для одного из стандартных разрешений.

Теперь при входе в систему будут использоваться ваше изображение.

Для настройки логотипа и дополнительной информации о системе отредактируйте следующие параметры в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation:
  • Manufacturer - тип STRING, указывает производителя ПК.
  • SupportHours - тип STRING, указывает рабочие часы службы технической поддержки.
  • SupportPhone - тип STRING, указывает телефон для связи со службой технической поддержки.
  • SupportURL - тип STRING, указывает адрес web-сайта для связи со службой технической поддержки.
  • Logo - тип STRING, указывает путь к файлу логотипа в формате bmp (например, C:\Windows\System32\oemlogo.bmp)

На этом все, в следующей статье - описание процедуры создания образа и разливки его на ПК.