Настройка консоли SCCM 2007 или как добавить дополнительные действия в меню

Кто работал с SMS или SCCM знаком с утилитами, например, SCCM Right Click Tools, которые позволяют расширить функционал консоли SCCM 2007 добавив в нее ряд действий для работы с коллекциями, с клиентами и др. Самостоятельно добавить что-то свое также будет не сложно, главное разобраться как все это устроено и что куда будет добавляться.
Сначала пример в картинках (скриншоты от разных консолей). До установки SCCM Right Click Tools меню для члена коллекции выглядело так:

После установки у нас появляется ряд пунктов:


Далее немного теории.
Если кратко, то создаем XML файл, складываем его в %ProgramFiles%\Microsoft Configuration Manager\AdminUI\XmlStorage\Extensions\Actions\{GUID} В зависимости от GUID получаем дополнительные пункты в меню, которое нам доступно по правому клику мышки на каком либо объекте в консоли SCCM. Как устроен XML файл можно посмотреть в Configmgr 2007 sdk, в SystemCenterConfigurationManager_SDK.chm, в разделе Configuration manager console extension\Configuration manager console actions.


В ActionDescription Class, в примере, указано «Executable». Это значит, что будем осуществлен запуск исполняемого файла. Другие возможные значения класса:
  • Showdialog — открывает диалоговое окно или окно свойств;
  • Report — показывает отчет;
  • AssemblyType — задает тип и «сборку» для метода, который будет вызван;
  • Group — создает подменю, позволяет группировать несколько действий.
DisplayName атрибут указывает отображаемое имя в SCCM консоли. Mnemonicdisplayname атрибут указывает отображаемое имя в панели действий и действий меню. FilePath и Parameters задают путь к исполняемому файлу и параметры для его запуска.

Приведу пример XML файла, в котором группируется несколько действий.


Все примеры взяты из приведенного выше SDK.

Разобравшись немного с этими файлами, перейдем к разбору что куда копировать, точнее что это за GUID и где его взять. Взять его можно в файле %ProgramFiles%\Microsoft Configuration Manager\AdminUI\XmlStorage\ConsoleRoot\AdminConsole.XML в атрибутах NamespaceGuid. Искать нужный GUID задача не очень простая, потому что их там много. Можно попробовать воспользоваться XML Notepad 2007, можно попробовать такое решение.

Пример некоторых GUIDов:
  • fa922e1a-6add-477f-b70e-9a164f3b11a2 – коллекции (верхний уровень);
  • 7ba8bf44-2344-4035-bdb4-16630291dcf6 – член коллекции;
  • de41d5d8-3845-4e67-9657-0121f06f5e27 – программы;
  • a1ad0705-ce2d-4981-96f5-8f0faad47396 – объявления.
И еще немного. В качестве параметров <Parameters> в XML файлах можно использовать следующие переменные:

##SUB:__Server##
##SUB:__Namespace##
##SUB: Name##
##SUB: NetbiosName##
##SUB: PackageID##
##SUB: ProgramName##
##SUB: SiteCode##
##SUB: SiteName##
##SUB: NetworkOSPath##
##SUB: AddressType##
##SUB: Order##
##SUB: value##
##SUB: ItemName##
##SUB:ResourceID##
##SUB:MemberClassName##
##SUB:CollectionID##
##SUB:CollectionName##
##SUB:…


Переменные можно определить с помощью какого-нибудь инструмента для работы с WMI, например PowerShell срипт PowerShell GUI WMI Explorer. Нужно подключиться к root\sms\site_<sitecode>, добраться, например, до класса SMS_Collection и посмотреть его свойства. Надо будет это еще раз проверить :)

XML файл для создания действия, при вызове которого будет открываться командная строка и пинговаться ПК.


Его надо будет скопировать в папку 7ba8bf44-2344-4035-bdb4-16630291dcf6, если ее не существует, то создать.

В ходе экспериментов консоль можно немного поломать и она не будет запускаться. Тут на помощь может прийти запуск консоли из командной строки с параметрами C:\Program Files\ConfigMgr\AdminUI\Bin\adminconsole.msc [параметр]. Параметры можно посмотреть тут.


0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.