К основному контенту

Active Setup

Наверняка вы замечали, что самый первый вход пользователя в систему занимает несколько больше времени, чем все последующие. Это связано с тем, что при входе к пользователю применяются настройки различных программных продуктов, таких как Microsoft Office, Internet Explorer и т.п. Механизм, реализующий эти настройки, называется Active Setup.

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

Эту особенность Active Setup можно использовать в том случае, когда необходимо однократно выполнить какое либо действие, например произвести настройку пользовательского окружения для нового пользователя или установить\обновить ПО.

Настройки Active Setup находятся в реестре, в разделе HKLM\Software\Microsoft\Active Setup\Installed Components. Для каждого компонента есть отдельный раздел с именем, состоящим из уникального идентификационного номера (GUID). В разделе есть несколько параметров, из которых нас интересуют следующие:

(по умолчанию) — название компонента, которое отображается при выполнении;
StubPath — команда, которая должна быть выполнена. Здесь можно указать команду, скрипт (cmd, vbs или powershell) или исполняемый файл;
Version — версия компонента в текстовом формате, элементы разделены запятыми (напр. 1,0,00).


раздел реестра Active Setup

Принцип работы Active Setup прост. При входе пользователя система сравнивает содержимое разделов HKLM\Software\Microsoft\Active Setup\Installed Components и HKCU\Software\Microsoft\Active Setup\Installed Components. Для каждого раздела в HKLM должна быть копия с тем же GUID в HKCU. Дальше есть три варианта развития событий:

1.  Если копии нет, то выполняется команда, указанная в StubPath, после чего в HKCU создается раздел с тем же GUID и прочими параметрами.
2. Если копия есть, то сравнивается значение параметра Version. Если версия в HKCU младше, чем в HKLM, то задание отрабатывает повторно, после чего номер версии в HKCU обновляется.
3. Если же раздел с одинаковым GUID есть и в HKLM и в HKCU и номер версии у них совпадает, то значит компонент уже отработал для данного пользователя и запускать его не требуется.

Создание нового компонента

Первое, что нужно для создания собственного компонента — это GUID. Сгенерировать его можно с помощью PowerShell, командой:

[System.Guid]::NewGuid()


создание нового GUID

Затем в разделе HKLM\Software\Microsoft\Active Setup\Installed Components создаем подраздел с новым GUID и добавляем в него необходимые параметры Version и StubPath, а также при желании указываем имя компонента. Для примера я добавил в StubPath простенький cmd-скрипт, который выводит строку текста и ждет нажатия клавиши.


создание нового раздела в Active Setup

И при следующем входе в систему наш скрипт отрабатывает вот таким образом.


результат работы Active Setup

Используя GPO

Для централизованного управления Active Setup можно задействовать групповые политики. Для этого есть специальный инструмент «Предпочтения групповой политики» (Group Policies Preferences), который в числе прочего позволяет редактировать реестр. Порядок действий такой:

Сначала открываем редактор и создаем новый GPO. Открываем его на редактирование и переходим в раздел Computer Configuration\Preferences\Windows Settings\Registry. Кликаем правой клавишей и в контекстном меню переходим на New -> Registry Item.


Group Policies Preferences, раздел Registry

Задаем все необходимые параметры ключа (путь, имя, тип), в качестве действия указываем создание (Create).


окно создания нового ключа реестра в Group Policies Preferences

Таким же образом создаем все необходимые ключи. Затем полученную GPO привязываем к подразделению (OU). Теперь после применения политики задание отработает на всех компьютерах, находящихся в этом OU. А если потребуется перезапустить задачу, то достаточно отредактировать версию компонента (например с 1,0,0 на 1,0,1) и задача отработает повторно.


Ключи реестра в Group Policies Preferences

И в заключение одна особенность, которую нужно учитывать при использовании ActiveSetup. Дело в том, что ActiveSetup запускается перед загрузкой рабочего стола. Команды стартуют синхронно, при этом на время их выполнения вход в систему блокируется. И если созданное вами задание по какой либо причине не сможет отработать, то войти в систему не удастся. Поэтому перед применением скрипт\приложение стоит тщательно оттестировать.

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…