вторник, 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)

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

Комментариев нет:

Отправить комментарий