понедельник, 21 февраля 2022 г.

Dell Command. Управление обновлениями для Dell

 Попробуем облегчить управление обновлениями для рабочих станции Dell при помощи Dell Command | Cloud Repository Manager. Официальная документация содержит подробное описание настройки репозитория, советую пролистать.  

Регистрируемся на портале TechDirect для получения доступа к администрированию управления рабочими станциями Dell, в том числе и к возможности создания репозиториев с обновлениями.

Выбираем "Create a new company in TechDirect..."


Заполняем информацию об организации

Выбираем меню Connect and manage > Manage PC fleet > Activate

После успешной активации, переходим в меню Services > Manage PC Fleet > Connect and manage PCs 


Далее жмём на "Manage update catalogs without connecting PCs to Dell"

И начинаем заполнять настройки каталога для обновлений


Выбираем нужные модели компьютером, которым необходимо получать обновления, версию ОС, категорию обновлений, а также категорию важности обновлений. Для начала, я выбрал только категорию BIOS. Итоговый архив вышел более 1,2 Гб для 4 моделей Dell. Dell Update Packages (DUP) скачивает ВСЕ возможные версии BIOS, это необходимо для случаев, когда требуются промежуточные версии BIOS, чтобы обновиться до последней версии.  

Далее ждем пока обновится статус каталога на Draft, жмём напротив этой строки параметры каталога и меняем его статус на Test, затем на Production. Как только статус обновится до Download Ready 


появится возможность скачать архив с xml-файлом со ссылками на выбранные обновления, а также утилиту UpdateCatalogs.Maker.exe для их скачивания.

Открываем cmd\powershell в директории куда распаковали скачанный архив и приступаем к скачиванию обновлений Dell по данным из файла .xml

PS D:\f7feafd6-c8a7-4688-a470-b3a487470a70> dir
    Каталог: D:\f7feafd6-c8a7-4688-a470-b3a487470a70


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022      9:51         157183 All Dell.xml
-a----        06.12.2021     18:18           1602 README.txt
-a----        19.11.2021     17:17       27577136 UpdateCatalogs.Maker.exe
Создадим сетевую директорию "DUP" для скачивания всех обновлений, назначим необходимые разрешения. Команда
.\UpdateCatalogs.Maker.exe -t "\\fileserv\DUP\" -c '.\All Dell.xml' -b "\\filesrv\DUP"
-t (target) задаем путь КУДА качать обновления 
-c (catalog) путь к .xml файлу 
-b (baseLocation) путь к обновлениям, ОТКУДА клиент Dell Command Update (DCU) будет скачивать обновления

Ждем завершения
После успешного завершения в нашем распоряжении появится директория с определенной иерархией, путь к которой мы будем прописывать в новом файле конфигурации для DCU. Следовательно, на всех компьютерах необходим пакет DCU для установки обновлений. Официальная документация по использованию DCU.

Обратите внимание, что в директории откуда запускали UpdateCatalog.Maker.exe появился файл All Dell.xml и All Dell.xml.orig. Для настройки DCU нам потребуется All Dell.xml

Дальше, подготовим файл с настройками DCU для экспорта
Запускаем DCU на клиенте (для тестирования) и переходим в настройки программы

Указываем путь до xml-файла All Dell.xml в Местоположение источника обновлений
Жмём Плюс (добавить этот источник) и снимаем галку с Местоположение источника по умолчанию (dell.com)
Пробегаемся по остальным настройкам, устанавливаем автоматическую проверку обновлений в Обновление параметров. Кстати, я думал что параметр "При необходимости автоматически перезагружать систему через n-минут" значит автоматически её перезагрузить, без запроса пользователю, или с уведомлением "Система перезагрузится через n-минут". Всё оказалось гораздо проще, этот параметр выдает УВЕДОМЛЕНИЕ о НЕОБХОДИМОСТИ перезагрузки через n-минут. Что ж, хоть какой-то выбор остается у пользователя. 
И пароль к BIOS (если он установлен). Иначе BIOS не обновится
Переходим во вкладку Импорт\Экспорт и экспортируем xml файл (я положил туда же, в DUP). ВНИМАНИЕ! Файл с экспортированными настройками не хранит пароль BIOS! Чтобы обновлять запароленный BIOS, нужно на каждом компьютере выполнять dcu-cli и дешифровать пароль с ключом. Читаем

По настроенному вами расписанию, DUC выполнит сканирование системы, проверит наличие обновлений из заданного источника и выдаст уведомление. За это отвечает служба Dell Client Management Service
Просмотреть установленные обновления можно в Журнале обновлений

После того, как мы убедились в успешном тестировании этих настроек, попробуем  распространить их для DCU на все рабочие места вендора Dell. 

Можно настроить через назначенные задания в GPO с нацеливаем по WMI. Назначенное задание будет отвечать за выполнение dcu-cli с необходимыми параметрами. А нацеливание отделит семена от плевел Dell от прочих других станций. 

Нацеливаем её во вкладке GPO Общие параметры
select * from Win32_ComputerSystem where Manufacturer = "Dell Inc."
Конечно, нацеливание можно заменить простым фильтром WMI в самой оснастке gpmc.msc
В таком исполнении, мы можем управлять периодичностью проверки и установки обновлений DCU централизованно, через GPO. После инициации DCU начала проверки обновлений, запускается процесс System, который сканирует систему в поисках информации о железе, затем запускается служба Dell Client Management Service. 

Не смотря на то, что Dell описал в статье как быть с безопасной передачей пароля BIOS клиентам DCU, у меня не получилось. Сгенерировал ключи и запустил поиск обновлений командой 
cd 'C:\Program Files (x86)\Dell\CommandUpdate\'
.\dcu-cli /generateencryptedpassword -encryptionkey=""Ch00seY0urDe7t1ny"" -password=""biospwd"" -outputpath=""C:\tmp""
.\dcu-cli /applyupdates -encryptionkey=""Ch00seY0urDe7t1ny"" -encryptedpassword=""Ac0MCAAGaisJAHfCvUfKaIneDvtAWjCr/7t9MwiCYeiW6frCAUcq0sCmD6oqFI1Iso6+qpUthu6ZGzuTJg==""
Кстати! Я пробовал выполнить эту команду на не-Dell рабочей станции но с установленным DCU 4.4.0, и вот что получил
This application is designed to only operate on supported Dell systems.

Please contact your system administrator if you believe you have received this message in error.
The program exited with return code: 3
Зацените атрибут создания файла. Странно что не 2111 год 

В логах
[2022-01-24 11:18:10] : The computer manufacturer is 'Dell' 
[2022-01-24 11:18:10] : Checking for updates... 
[2022-01-24 11:18:10] : Scanning system devices... 
[2022-01-24 11:18:10] : Determining available updates... 
[2022-01-24 11:18:10] : The scan result is VALID_RESULT 
[2022-01-24 11:18:10] : Power adapter Status [Online] 
[2022-01-24 11:18:10] : 1 updates were selected. Download Size: 21,0 MB 
[2022-01-24 11:18:10] : [1] JKMD2, Dell OptiPlex 3050 System BIOS, 1.19.0 
[2022-01-24 11:18:10] : Warning: The power adapter and any peripheral devices such as Dell type-C docks must not be disconnected from the system while installing BIOS and/or firmware updates. Disconnecting such devices during installation may lead to system instability or unusable peripheral devices. 
[2022-01-24 11:18:10] : Downloading updates (1 of 1), 0 bytes of 21,0 MB transferred (0,00%)...  
[2022-01-24 11:18:11] : Downloaded updates (1 of 1)., 21,0 MB of 21,0 MB transferred (100,00%)...  
[2022-01-24 11:18:12] : Downloaded updates (1 of 1)., 21,0 MB of 21,0 MB transferred (100,00%)...  
[2022-01-24 11:18:12] : Installing updates (1 of 1). Update Name: Dell OptiPlex 3050 System BIOS  
[2022-01-24 11:18:23] : Finished installing the updates. 
[2022-01-24 11:18:24] : BIOS Update failed due to incorrect BIOS Password. Please provide correct BIOS Password and retry. 
[2022-01-24 11:18:24] : 1 update(s) failed to install. 
[2022-01-24 11:18:24] : [1] JKMD2, Dell OptiPlex 3050 System BIOS, 1.19.0 
[2022-01-24 11:18:24] : Execution completed. 
[2022-01-24 11:18:24] : The program exited with return code: 0 
[2022-01-24 11:18:24] : State monitoring instance total elapsed time = 00:00:14.6093753, Execution time = 32mS, Overhead = 0,220353022213072% 
[2022-01-24 11:18:24] : State monitoring disposed for application domain dcu-cli.exe
И если запустить обновление ещё раз, то DCU уже не найдёт актуального обновления BIOS
[2022-01-24 11:21:02] : The computer manufacturer is 'Dell' 
[2022-01-24 11:21:02] : Checking for updates... 
[2022-01-24 11:21:02] : Checking for application component updates... 
[2022-01-24 11:21:02] : Scanning system devices... 
[2022-01-24 11:21:09] : Determining available updates... 
[2022-01-24 11:21:09] : The scan result is VALID_RESULT 
[2022-01-24 11:21:09] : NO_INVENTORIED_UPDATES_FOUND is flagged in the scan results 
[2022-01-24 11:21:09] : No updates available. 
[2022-01-24 11:21:10] : Execution completed. 
[2022-01-24 11:21:10] : The program exited with return code: 500 
[2022-01-24 11:21:10] : State monitoring instance total elapsed time = 00:00:08.2659993, Execution time = 57mS, Overhead = 0,693992316210334% 
[2022-01-24 11:21:10] : State monitoring disposed for application domain dcu-cli.exe
Теперь чтобы DCU стал снова их искать, необходимо переустановить DCU. Ппц

Поэтому решил прописывать пароль BIOS в настройки через ключ -biosPassword

Создаем новое задание которое будет экспортировать настройки DCU из файла и прописывает пароль к BIOS. Во вкладке Действия жмём Создать

Действие: Запуск программы
Программа или сценарий: C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe
Добавить аргументы: /configure -importSettings=\\fileserv\DUP\DellAutoUpdate5MinBIOS.xml -biosPassword="biospwd"
Рабочая папка: C:\Program Files (x86)\Dell\CommandUpdate

Создаем второе действие, которое собственно запускает процесс поиска&установки обновлений
Действие: Запуск программы
Программа или сценарий: C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe
Добавить аргументы: /applyupdates -outputLog=C:\Dell\DellUpdate.log -silent
Рабочая папка: C:\Program Files (x86)\Dell\CommandUpdate

Может случиться так, что на момент выкачивания репозиторию, в нем не оказалось какого-то свежего файла обновлений. У меня к примеру, на момент создания репозиторию, файлы прошивок BIOS уже больше недели лежали в общем доступе на сайте Dell, но в репозитории не попали. Поэтому возвращаемся на TechDirect и создаем новый черновик 
Далее Edit Draft. Добавляем файлы обновлений по типу, по Дате выпуска и видим что появились два свежих от 13 января 2022. Хотя при создании первый версии репозитория 19 января их ещё не было. 

Есть также неприятная особенность. При установке обновлений BIOS и последующим выключением компьютера, BIOS не установится. Компьютер необходимо обязательно перезагрузить, что накладывает некоторые неудобства для пользователя. Уже не получится втихую поставить обновление и применить его в конце рабочего дня.
Обновление BIOS прошло без ошибок

 Выключаем\включаем компьютер, эмулируя завершение\начало рабочего дня пользователя
DCU даже пишет, что обновление стоит
Но при повторном поиске, видим обновление всё ещё актуально, и доступно к установке
Попробуем использовать ключ -scheduledReboot=5 который предложит пользователю запланировать перезагрузку, через 5 минут после установки обновления.
И снова ничего, похоже уведомление появляется в окружении учетной записи, от которой запускаю dcu-cli. В пользовательском сеансе уведомление не выходит. 
В итого только при помощи dcu-cli.exe /applyupdates -silent -reboot=enable" обновление применилось и компьютер мгновенно перезагрузился для обновления BIOS.

Недостатки DUP:
- нет никаких уведомлений о выходе новых обновлений для выбранных продуктов. Приходится вручную, периодически создавать черновик, лезть в него и смотреть по дате выхода новые обновления. Более того, форма зависает, если кликаешь сортировку по Дате выпуска. 
- представлены не все модели ноутбуков Inspiron
- объем репозитория со всеми драйверами на 4-5 моделей Dell займёт под 50Гб. Он будет включать в себя драйвера двухлетней давности. 


Что дальше? 
Можно менять настройки BIOS через Dell Command Monitor или Dell Command Configure. Крутая штука, помогла мне наcтроить WOL на всех рабочих местах не вставая с кресла.
Через DCM не вышло менять настройки, вероятно из-за установленного пароля BIOS. А вот через DCC без проблем. К примеру
'C:\Program Files (x86)\Dell\Command Configure\X86_64\cctk' --deepsleepctrl=disable --ValSetupPwd=qqq222eee
  DeepSleepCtrl=Disabled
В целом, я приятно удивлён созданной экосистемой Dell. Документация на высшем уровне, практически всё есть на русском языке. Видно, что всё делаю для сокращения времени на обслуживании рабочих станций в части их администрирования.

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

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