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

Dell ThinOS и Wyse Device Manager

На сегодняшний день Dell является лидером рынка тонких клиентов. Компания предлагает устройства в разных ценовых сегментах с различными ОС - Windows Embedded, Suse Linux, Ubuntu, ThreadX (ОС для нулевых клиентов на базе процессоров Teradici) и ThinOS. О последней и пойдет речь сегодня.

ThinOS является крайне легковесной ОС, поддерживающей все популярные терминальные и VDI решения на рынке (Citrix XenApp/XenDesktop, VMware Horizon View, Microsoft RDS). Последняя актуальная на сегодня версия ThinOS 8.2 поддерживает проброс USB и COM устройств, проброс принтеров, передачу звука в обоих направлениях, аутентификацию по смарт-картам, функции Multimedia Redirection и Flash Redirection, интеграцию с Lync/Skype for Business клиентом на удаленном рабочем столе.

На рынке присутствуют несколько моделей, поддерживающих ThinOS, наиболее популярные из них: Wyse 3010/3012 (T10/T10D) - тонкий клиент начального уровня с одним или двумя видеовыходами, Wyse 5010/5012 (D10/D10D) - модель среднего ценового диапазона, Wyse 5212 (D10DP) - модель с поддержкой протокола PCoIP.

Одним из плюсов устройств на базе ThinOS является простота настройки и обновления - устройства могут самостоятельно подключаться к серверу-репозитарию по протоколу FTP или HTTP и загружать файл с настройками, обновления прошивки и пакетов.

Настройки клиента описываются в файле wnos.ini.

Пример настроек приведен ниже.

Включает сохранение настроек клиента в NVRAM, а также скрывает стандартные ярлыки Default ICA и Default RDP с рабочего стола.
EnableLocal=yes HideDefault=yes

Данная настройка позволяет клиенту автоматически загружать с сервера более новую версию прошивки и устанавливать ее. После обновления клиент автоматически сбросит настройки в значение по умолчанию - это полезно в том случае, когда в более новых версиях какие-либо из настроек объявлены deprecated или больше не работают.
autoload=2
FactoryDefault=yes

Задать режим привилегий для локального пользователя. По умолчанию все пользователи имеют режим привилегий High, который позволяет изменять любые настройки на клиентах, а также сбрасывать конфигурацию устройства. При переключении клиента в режим low пользователи получат доступ только к некритичным настройкам, что уменьшает риск что-либо сломать. Для переключения обратно в превилегированный режим можно создать административную учетную запись.
Privilege=Low
AdminMode=yes Username=wyseadmin Password=Wyse#123

Настройки интерфейса тонкого клиента и отображения панели инструментов. По умолчанию используется классический интерфейс, который отображает панель в нижней части экрана, схожей с панелью Пуск в ОС Windows. Режим vdi представляет более простой для восприятия интерфейс.
SysMode=vdi ToolbarDisableMouse=yes ToolbarEnableOneSession=yes

Настройки NTP сервера и временной зоны.
Timeserver=ntp.company.local Timeformat="24-hour format"
TimeZone='GMT + 03:00' TimeZoneName="Russian" ManualOverride=no

Включить управление тонким клиентом при помощи сервера WDM, настроить обнаружение сервера по протколам DHCP и DNS.
WDMService=Yes DHCPinform=yes DNSLookup=yes

Включить функцию Wake on LAN на клиенте.
WakeOnLan=yes

Настройка тонкого клиента на автоматическое подключениие к серверу VMware View Connection Server. Включение режима проверки подлинности сертификата.
VDIBroker=vdi.company.local
ConnectionBroker=VMware SecurityMode=Full

Настройка тонкого клиента на подключение к Citrix XenApp/XenDesktop.
PnliteServer=https://storefront.company.local/Citrix/Desktop/ Storefront=yes ReconnectAtLogon=1

Настройка импорта сертификатов в хранилище тонкого клиента. Все сертификаты должны располагаться в дочернем каталоге cacerts.
AddCertificate=RootCA.crt
AddCertificate=InterCA.crt

Настройки подключения к тонкому клиенту по протоколу VNC. Для подключения требуется указать пароль, а также получить подтверждение на подключение от пользователя ТК .
Service=vncd disable=no
MaxVNCD=1 VNCD_8bits=yes VNCD_Zlib=yes
VncPassword="Wyse#123" Encrypt=no
VncPrompt=yes Accept=60 ActiveVisible=yes

Дополнительные параметры описаны в руководстве Dell Wyse ThinOS 8.2 INI Reference Guide, которое доступно на сайте http://www.wyse.com/manuals.

Создать файл вы можете вручную, или с помочью утилиты от сторонних разработчиков - ConfigGen (http://www.technicalhelp.de/configuration-generator/).

Утилита позволяет с помощью простого графического интерфейса или через мастера настройки задать основные параметры тонкого клиента и на выходе получить файл wnos.ini.

Для обновления клиентов достаточно разместить файл с прошивкой в том же каталоге, что и wnos.ini.

Существуют два варианта, как сообщить тонкому клиенту о местоположении файлов настройки и прошивок.

Во-первых, вы можете создать дополнительные опции в DHCP:

  • File server - опция 161 типа String, в которой указывается адрес FTP сервера (доменное имя или IP-адрес).
  • Root path to the file server - опция 162 типа String, в которой указывается каталог, где располагается конфигурационный файл wnos.ini. Тонкий клиент всегда добавляет к пути дочерний каталог \wyse\wnos, так, что если вы укажите в данной опции путь pub\thinclient, то полный путь к файлу конфигурации, который будет искать клиент: "<server>\pub\thinclient\wyse\wnos\wnos.ini".
  • File server Username - опция 184 типа String. В данной опции можно указать имя пользователя, под которым будет выполнено подключение к серверу (в случае, если анонимный доступ запрещен).
  • File server Password - опция 185 типа String. В данной опции указывает пароль пользователя, под которым будет выполнено подключение к серверу.

Во-вторых, вы можете настроить сервер Wyse Device Manager, чтобы тот сообщал о расположении файла wnos.ini. Делается это в меню настроек (Preferences) на вкладке WTOS. Требуется включить опцию WTOS INI path upon checkin и в поле WTOS Root Path указать путь к конфигурационному файлу.

После этого расместите файл wnos.ini в каталоге C:\inetpub\ftproot\Rapport\WTOSCONFIG\WNOS, чтобы клиент смог загрузить его.

Помимо предоставления информации о местоположении файла конфигурации сервер Wyse Device Manager позволяет выполнять различные операции с тонкими клиентами:
  • Получать информацию о клиенте - модель, версия прошивки, сетевые настройки, указывать расположение и имя устройства.
  • Перезагружать и выключать тонкий клиент. 
  • Включать ТК при помощи Wake on LAN.
  • Подключаться к ТК удаленно (Remote Shadow).

Wyse Device Manager доступен в двух редакция: Workgroup и Enterprise. Workgroup бесплатна для использования и может управлять до 10000 тонких клиентов. Все компоненты WDM в случае Wokgroup устанавливаются на один сервер, в качестве СУБД используется Microsoft SQL Server Express Edition. Enterprise редакция позволяет управлять более 10000 клиентами, поддерживает установку компонентов на разные серверы и подключение к внешнему СУБД Microsoft SQL Server. Допонительные отличия двух редакций приведены в документе Dell Wyse Device Manager Administrator's Guide. Актуальная на текущий момент версия WDM - 5.5.1.

При включении клиент автоматически подключается к серверу по протоколу HTTPS или HTTP и сообщает информацию о своем состоянии.

Для перезагрузки и выключения клиента сервер отправляет команду ТК по протоколу HTTP (TCP 80).

Функция Remote Shadow использует протокол VNC (TCP 5900). В зависимости от настроек, подключение может выполнять автоматически без запроса и уведомления пользователя ТК, администратор может только видеть экран, либо управлять клавиатурой и мышью.

Для обнаружения сервера WDM используется один из механизмов:
  • DHCP опции.
  • Запись WDMServer в DNS.
  • Запись типа SRV _WDMServer в DNS. 
Для обнаружения с использования DHCP опций требуется создать следующие опции:

  • WDM server list - опция 186 типа IP Address, в которой требуется указать IP адрес WDM сервера.
  • WDM secure port - опция 190 типа Word, в которой требуется указать порт для безопасного подключения к серверу WDM (по умолчанию, 443).
  • WDM server port - опция 192 типа Word, в которой требуется указать порт для небезопасного подключения к серверу WDM (по умолчанию, 80).
Для обнаружения сервера через DNS достаточно создать запись типа A и CNAME с именем WDMServer в DNS.

Альтернативный вариант - создать запись типа SRV _WDMServer._TCP.<domain>. Плюсом данного вариант, является то, что вы также можете указать порт, который тонкий клиент будет использовать для подключения.

понедельник, 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)

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

понедельник, 30 мая 2016 г.

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

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

Одним из способов организации доступа к VDI инфраструктуре является переделывание имеющихся в организации ПК в тонкие клиенты. Среди вариантов присутствуют как коммерческие решения, вроде Dell Wyse PC Extender или Igel Universal Desktop Converter, так и открытые/бесплатные решения, например, Thinstation. Все они строятся на базе ОС Linux с дополнительным ПО, позволяющим создавать и модифицировать образ ОС, а также централизованно управлять, обновлять тонкие клиенты. Но еще одним интересным вариантом является Microsoft Windows Thin PC.

Thin PC строится на базе ОС Microsoft Windows Embedded Standard 7 (Microsoft Windows Thin PC). Данная ОС доступна для загрузки корпоративным пользователям, оформившим подписку Microsoft VDA (что обязательно в тех случаях, когда вы планируете запускать в VDI клиентские ОС Windows).

Thin PC может устанавливаться на любой Intel x86 совместимый компьютер, удовлетворяющий следующим аппаратным требованиям:
  • 1 GHz or faster 32-bit (x86);
  • 1 GB RAM, 16 GB available hard disk space;
  • DirectX 9 graphics device with WDDM 1.0 or later version driver.
Поскольку в основе Thin PC лежит Windows, то это значит, что тонкие клиенты с данной ОС имеют полный набор функциональных возможностей, которые может предоставить то или иное VDI решение (проброс USB устройств, принтеров, сканеров, Multimedia redirection, Flash redirection, URL redirection, аппаратное декодирование видео, однакратный вход в систему, аутентификация по смарт-картам и т.д.).

Поскольку для распространения Thin PC планируется использовать VMware Mirage, то нам потребуется эталонный компьютер, на которой можно будет установить Thin PC, выполнить ряд настроек, оптимизирующих работу ОС, установить дополнительные компоненты, вроде, клиента VMware Horizon Client и Mirage Client. Ряд настроек я рекомендую выполнить заранее, например, добавить в дистрибутив Thin PC необходимые обновления ОС и драйверы, и только после этого установить его на эталонный компьютер.

Предварительные шаги

Для начала требуется подготовить дистрибутив Thin PC к установке.

Подготовка дистрибутива включает в себя следующие шаги:
  1. Интеграция драйверов устройств в дистрибутив.
  2. Интеграция пакетов обновлений ОС в дистрибутив.
  3. Интеграция установочных пакетов приложений в дистрибутив.
  4. Модификация установочного скрипта ОС.
  5. Модификация файла ответов ОС.
  6. Сборка дистрибутива.
Для подготовки дистрибутива тонкого клиента следует использовать рабочую станцию с установленной ОС Microsoft Windows 7 с установленным пакетом Microsoft Windows Automated Installation Kit 7 (WAIK 7).

Загрузите дистрибутив Windows ThinPC. Также рекомендую загрузить пакет Windows Embedded Standard 7 Service Pack 1 Toolkit с сайта https://www.microsoft.com/en-us/download/details.aspx?id=11887 (по ссылке можно загрузить Evaluation версию Windows Embedded, сам Toolkit находится в архиве, разбитом на 8 частей), содержащего огромное количество драйверов и дополнительных пакетов, которые могут пригодиться при подготовке образа.

При желании, вы также можете загрузить языковой пакет для различных языков по ссылке: https://www.microsoft.com/en-us/download/details.aspx?id=26215

На рабочей станции создайте структуру каталогов для хранения дистрибутива, монтирования образов ОС, драйверов, дистрибутивов приложений и т.д.:
  • C:\ThinPC
  • C:\ThinPC\Drivers
  • C:\ThinPC\Image
  • C:\ThinPC\ISO
  • C:\ThinPC\Mount
  • C:\ThinPC\Updates
После получения дистрибутива Thin PC в формате ISO распакуйте его содержимое в каталог "C:\ThinPC\Image" на рабочей станции.

Образ операционной системы (системный диск) хранится в файле-образа X:\sources\install.wim на установочном носителе. В данный образ могут должны быть интегрированы необходимые драйверы и обновления ОС, которые будут автоматически установлены при развертывании ОС на целевые устройства.

Интеграция драйверов в дистрибутив

Для интеграции драйверов устройств выполните следующие действия:
  1. Загрузите и распакуйте драйверы устройств с сайта производителя в папку C:\ThinPC\Drivers. Распакованные файлы драйверов должны содержать файлы описания .INF и системные файлы драйверов (.SYS, .DLL и др.).
  2. Смонтируйте файл install.wim, используя команду:
  3. dism /mount-wim /wimfile:"C:\ThinPC\Image\sources\install.wim" /index:1 /mountdir:"C:\ThinPC\Mount"
  4. Добавьте драйверы в дистрибутив, используя команду:
  5. dism /Image:C:\ThinPC\Mount /Add-Driver /Driver:C:\ThinPC\Drivers /Recurse
  6. Отмонтируйте файл install.wim и сохраните изменения, используя команду:
  7. dism /Unmount-Wim /MountDir:C:\ThinPC\Mount /Commit
Примечание: Если устройство-тонкий клиент снабжено дисковым контроллером, драйвер которого отсутствует в ОС, требуется добавить драйвер и загрузочный образ Win PE (boot.wim). Шаги по добавлению драйверов в загрузочный образ аналогичны вышеприведенным для файла-образа ОС (install.wim).

Подробнее о процедуре интеграции драйверов можно прочитать в статье (https://technet.microsoft.com/ru-ru/library/dd744355(v=ws.10).aspx).

Интеграция пакетов обновлений и дополнительных компонентов ОС в дистрибутив

Для интеграции пакетов обновлений ОС (файлов в формате .MSU или .CAB) в дистрибутив выполните следующие действия:
  1. Загрузите обновления .MSU с сайта (http://catalog.update.microsoft.com/v7/site/Search.aspx?q=windows%20embedded%20standard%207) и сохраните их в корне каталога C:\ThinPC\Updates (не используйте вложенные папки).
  2. Смонтируйте файл install.wim, используя команду:
  3. dism /mount-wim /wimfile:"C:\ThinPC\Image\sources\install.wim" /index:1 /mountdir:"C:\ThinPC\Mount"
  4. Добавьте пакеты обновлений в дистрибутив, используя команду:
  5. dism /Image:C:\ThinPC\Mount /Add-Package /PackagePath:C:\ThinPC\Updates
  6. Отмонтируйте файл install.wim и сохраните изменения, используя команду:
  7. dism /Unmount-Wim /MountDir:C:\ThinPC\Mount /Commit
Например, в дистрибутиве Thin PC по умолчанию отсутствует множество видео кодеков, которые могут пригодиться для воспроизведения видео при использовании функции Multimedia redirection. CAB-пакеты с кодеками находятся в каталоге X:\DS\Packages\FeaturePack\ на диске Windows Embedded Standard 7 Service Pack 1 Toolkit.

Подробнее о процедуре интеграции пакетов обновлений можно прочитать в статье (https://technet.microsoft.com/ru-ru/library/dd744559(v=ws.10).aspx)

Модификация установочного скрипта ОС

Установочный скрипт setupcomplete.cmd выполняется на завершающем этапе установки ОС. Данный скрипт можно использовать для копирования файлов, установки приложений, модификации реестра, включения и отключения служб и компонентов ОС. Для добавления установочного скрипта в дистрибутив выполните следующие действия:
  1. Смонтируйте файл install.wim, используя команду:
  2. dism /mount-wim /wimfile:"C:\ThinPC\Image\sources\install.wim" /index:1 /mountdir:"C:\ThinPC\Mount"
  3. Создайте (если этого не было сделано ранее) файл "C:\ThinPC\Mount\Windows\Setup\Scripts\setupcomplete.cmd". В качестве основы можно использовать файл скрипта, приведенный ниже.
  4. Отмонтируйте файл install.wim и сохраните изменения, используя команду:
  5. dism /Unmount-Wim /MountDir:C:\ThinPC\Mount /Commit
Данный скрипт выполняет следующие операции:
  • активирует встроенную учетную запись администратора;
  • запрещает учетной записи User смену пароля;
  • настраивает автоматический вход в систему под учетной записью User (с пустым паролем);
  • настраивает шаблон профиля пользователя;
  • отключает неиспользуемые службы;
  • отключает восстановление системы;
  • отключает профили брандмауэра;
  • отключает запуск заданий дефрагментации по расписанию.
    REM setupcomplete.cmd

    REM Hide Boot Screen
    bcdedit /Set BOOTUX disabled

    REM *********************************************
    REM Network customization
    REM *********************************************

    REM Disable Windows Firewall Public Profile
    NetSh advfirewall Set publicprofile state off

    REM Disable Windows Firewall Private Profile
    NetSh advfirewall Set privateprofile state off

    REM Disable Windows Firewall Domain Profile
    NetSh advfirewall Set domainprofile state off

    REM Turn off the Network Location wizard
    reg ADD "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f

    REM Enable Remote Desktop Connection
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0x0 /f
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0x1 /f
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0x1 /f

    REM *********************************************
    REM OS optimization
    REM *********************************************

    REM Disable Action Center icon
    reg ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Explorer" /v HideSCAHealth /t REG_DWORD /d 0x1 /f

    REM Disable User Account Control
    reg ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system" /v EnableLUA /t REG_DWORD /d 0x0 /f

    REM Increase disk timeout to 120 seconds
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk" /v TimeOutValue /t REG_DWORD /d 120 /f

    REM Disable Crush Dump
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 0x0 /f

    REM Enable "Automatically Reboot"
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v AutoReboot /t REG_DWORD /d 0x1 /f

    REM Disable "Write an event to the system log"
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v LogEvent /t REG_DWORD /d 0x0 /f

    REM Disable "Send an alert"
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v SendAlert /t REG_DWORD /d 0x0 /f

    REM Do not move deleted files to the Recycle Bin
    reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v NorecycleFiles /t REG_DWORD /d 0x1 /f

    REM Disable system restore
    reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore" /v DisableSR /t REG_DWORD /d 0x1 /f

    REM Disable Windows Update
    reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableWindowsUpdateAccess /t REG_DWORD /d 0x1 /f

    REM Disable Machine Account Password Changes
    reg ADD "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" /v DisablePasswordChange /t reg_dword /d 0 /f

    REM Disable Hibernate
    powercfg -HIBERNATE OFF

    REM Disable Last Access Time stamp
    fsutil behavior Set DisableLastAccess 1

    REM Disable Prefetch
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" /v EnablePrefetcher /t REG_DWORD /d 0x0 /f

    REM Disable the First Run Customize Page
    reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /v DisableFirstRunCustomize /t REG_DWORD /d 0x1 /f

    REM Configure Application event log
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application" /v MaxSize /t REG_DWORD /d 0x100000 /f
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application" /v Retention /t REG_DWORD /d 0x0 /f

    REM Configure System event log
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System" /v MaxSize /t REG_DWORD /d 0x100000 /f
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System" /v Retention /t REG_DWORD /d 0x0 /f

    REM Configure Security event log
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security" /v MaxSize /t REG_DWORD /d 0x100000 /f
    reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security" /v Retention /t REG_DWORD /d 0x0 /f


    REM *********************************************
    REM Local accounts configuration
    REM *********************************************

    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


    REM Disable scheduled tasks
    schtasks /change /tn "\Microsoft\windows\Application Experience\AitAgent" /disable
    schtasks /change /tn "\Microsoft\windows\Application Experience\ProgramDataUpdater" /disable
    schtasks /change /TN "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /disable
    schtasks /change /TN "\Microsoft\Windows\Defrag\ScheduledDefrag" /Disable
    schtasks /change /TN "\Microsoft\Windows\Maintenance\WinSAT" /Disable
    schtasks /change /TN "\Microsoft\Windows\Registry\RegIdleBackup" /Disable


    REM *********************************************
    REM Disable services
    REM *********************************************

    REM Disable Application Experience
    sc config AeLookupSvc start= disabled

    REM Disable BitLocker Drive Encryption Service
    sc config BDESVC start= disabled

    REM Disable BranchCache
    sc config PeerDistSvc start= disabled

    REM Disable Diagnostic Service Host
    sc config WdiServiceHost start= disabled

    REM Disable Diagnostic System Host
    sc config WdiSystemHost start= disabled

    REM Disable Problem Reports and Solutions Control Panel Support
    sc config wercplsupport start= disabled

    REM Disable Windows Media Center Sharing Service
    sc config WMPNetworkSvc start= disabled

    Rem Disable Interactive Services Detection
    sc config UI0Detect start= disabled

    REM Disable Function Discovery Resource Publication
    sc config FDResPub start= disabled

    REM Disable Secure Socket Tunneling Protocol Service
    sc config SstpSvc start= disabled

    REM Disable Security Center
    sc config wscsvc start= disabled

    REM Disable SSDP Discovery
    sc config SSDPSRV start= disabled

    REM Disable bSuperfetch
    sc config SysMain start= disabled

    REM Disable Block Level Backup Engine Service
    sc config wbengine start= disabled

    REM Disable Diagnostic Policy Service
    sc config DPS start= disabled

    REM Disable Disk Defragmenter
    sc config Defragsvc start= disabled

    REM Disable HomeGroup Listener
    sc config HomeGroupListener start= disabled

    REM Disable HomeGroup Provider
    sc config HomeGroupProvider start= disabled

    REM Disable IP Helper
    sc config iphlpsvc start= disabled

    REM Disable Microsoft iSCSI Initiator Service
    sc config MSiSCSI start= disabled

    REM Disable Themes
    sc config Themes start= disabled

    REM Disable UPnP Device Host
    sc config upnphost start= disabled

    REM Disable Windows Error Reporting Service
    sc config WerSvc start= disabled

    REM Disable WLAN AutoConfig
    sc config Wlansvc start= disabled

    REM Disable WWAN AutoConfig
    sc config WwanSvc start= disabled

    REM Disable Indexing Service
    sc config CISVC start= disabled

    Модификация файла ответов ОС

    Файл ответов (autounattend.xml) располагает в корне установочного носителя и содержит параметры для автоматизации процедуры установки ОС (выбора версии и редакции ОС, выбора места установки, задания пароля администратора, создания учетной записи пользователя и т.д.). Для модификации файла ответов выполните следующие действия:
    1. Смонтируйте файл install.wim, используя команду:
    2. dism /mount-wim /wimfile:"C:\ThinPC\Image\sources\install.wim" /index:1 /mountdir:"C:\ThinPC\Mount"
    3. С помощью приложения Windows System Image Manager, установленной на рабочей станции, создайте новый файл ответов "C:\ThinPC\Mount\autounattend.xml" или используйте файл ответов ниже.
    4. Отмонтируйте файл install.wim и сохраните изменения, используя команду:
    5. dism /Unmount-Wim /MountDir:C:\ThinPC\Mount /Commit
    Данный файл ответов содержит следующие параметры установки:
    • настройка русского языка в качестве системного;
    • настройка английской и русской раскладки языка;
    • автоматическое форматирование жесткого диска и выбор раздела для установки;
    • установка пароля учетной записи Administrator (P@ssw0rd);
    • добавление учетной записи пользователя User без пароля (для последующего автоматического входа в систему после загрузки);
    • пропуск мастера OOBE.
    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
    <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <InputLocale>en-US;ru-RU</InputLocale>
    <SystemLocale>ru-RU</SystemLocale>
    <UserLocale>ru-RU</UserLocale>
    <UILanguage>en-US</UILanguage>
    <SetupUILanguage>
    <UILanguage>en-US</UILanguage>
    </SetupUILanguage>
    </component>
    <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DiskConfiguration>
    <WillShowUI>OnError</WillShowUI>
    <Disk wcm:action="add">
    <CreatePartitions>
    <CreatePartition wcm:action="add">
    <Order>1</Order>
    <Size>200</Size>
    <Type>Primary</Type>
    </CreatePartition>
    <CreatePartition wcm:action="add">
    <Extend>true</Extend>
    <Order>2</Order>
    <Type>Primary</Type>
    </CreatePartition>
    </CreatePartitions>
    <ModifyPartitions>
    <ModifyPartition wcm:action="add">
    <Format>NTFS</Format>
    <Label>Windows</Label>
    <Order>2</Order>
    <PartitionID>2</PartitionID>
    </ModifyPartition>
    <ModifyPartition wcm:action="add">
    <Active>true</Active>
    <Format>NTFS</Format>
    <Label>System</Label>
    <Order>1</Order>
    <PartitionID>1</PartitionID>
    </ModifyPartition>
    </ModifyPartitions>
    <DiskID>0</DiskID>
    <WillWipeDisk>true</WillWipeDisk>
    </Disk>
    </DiskConfiguration>
    <ImageInstall>
    <OSImage>
    <InstallTo>
    <DiskID>0</DiskID>
    <PartitionID>2</PartitionID>
    </InstallTo>
    <InstallToAvailablePartition>false</InstallToAvailablePartition>
    <WillShowUI>OnError</WillShowUI>
    </OSImage>
    </ImageInstall>
    <UserData>
    <AcceptEula>true</AcceptEula>
    <Organization>Company</Organization>
    </UserData>
    </component>
    </settings>
    <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Reseal>
    <Mode>OOBE</Mode>
    </Reseal>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OOBE>
    <HideEULAPage>true</HideEULAPage>
    <ProtectYourPC>3</ProtectYourPC>
    <NetworkLocation>Work</NetworkLocation>
    <SkipUserOOBE>true</SkipUserOOBE>
    <SkipMachineOOBE>true</SkipMachineOOBE>
    </OOBE>
    <TimeZone>Russian Standard Time</TimeZone>
    <UserAccounts>
    <AdministratorPassword>
    <Value>UABAAHMAcwB3ADAAcgBkAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAUABhAHMAcwB3AG8AcgBkAA==</Value>
    <PlainText>false</PlainText>
    </AdministratorPassword>
    <LocalAccounts>
    <LocalAccount wcm:action="add">
    <DisplayName>User</DisplayName>
    <Name>User</Name>
    <Group>Users</Group>
    </LocalAccount>
    </LocalAccounts>
    </UserAccounts>
    </component>
    </settings>
    <cpi:offlineImage cpi:source="catalog:c:/thinpc/image/sources/thinpc.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>


    Сборка дистрибутива

    Для сборки дистрибутива и создания .ISO образа используется утилита oscdimg.exe из состава WAIK 7. Утилита расположена в каталоге "C:\Program Files\Windows AIK\Tools\x86". Для сборки дистрибутива выполните следующие действия:
    1. Запустите команду:
    2. oscdimg.exe -b"C:\Program Files\Windows AIK\Tools\PETools\x86\boot\etfsboot.com" –u2 –h –m –lTHIN_PC c:\ThinPC\Image c:\ThinPC\ISO\thinpc.iso
    3. После завершения работы команды скопируйте полученный образ на установочный носитель.
    На этом первая часть закончена. В следующем части будет описана установка и настройка ОС на эталонном компьютере для создания образа при помощи VMware Mirage.

    понедельник, 16 мая 2016 г.

    Лимит в 60 FPS в режиме vGPU на видеокартах NVIDIA

    При тестировании производительности режима аппаратного ускорения графики NVIDIA vGPU для видеокарт GRID или Tesla в синтетических бенчмарках можно получить достаточно скромные результаты даже в сравнении с игровыми видеокартами начального и среднего уровня или при использовании режима vDGA.

    Причина низких результатов - работа Frame Rate Limiter, включающийся при использовании vGPU, и ограничивающий максимальный FPS 60 кадрами в секунду. Поскольку обычно в режиме vGPU ресурсами графического адаптера пользуются несколько ВМ, то это сделано с целью ограничить одного или нескольких пользователей, которые могут запустить какое-нибудь ресурсоемкое приложение и мешать работе "соседей".

    Чтобы снять ограничение на FPS достаточно в свойствах ВМ добавить параметр pciPassthru0.cfg.frame_rate_limiter = 0

    После этого можно будет увидеть существенную разницу в производительности в бенчмарках, например, PerformanceTest или 3D Mark.

    До выключения FRL в 3D Graphics Mark графический адаптер M60-4Q набирал 2215 очков.

    После выключения - 8482 очка.

    NVIDIA не валидирует инсталляции с отключенным FRL, однако для тестовых целей FRL может быть на время отключен.