Добавляем дополнительные действия в контекстное меню ADUC

24.02.2010

Полезно для администраторов домена использующих оснастку ADUC (Active Directory Users and Computers). Раньше я часто сетовал на то, что в оснастке ADUC нет возможности добавлять свои контекстные меню. Оказалось я был не прав и можно добавлять туда практически все что душе угодно, создав единую точку управления доменом и компьютерами.

К примеру, у меня сейчас меню выглядит так:

Поделюсь с вами информацией как это сделать:

На первоначальном этапе нам необходима оснастка ADSIEdit.MSC из Windows 2000/2003 Support Tools  и права на изменение схемы AD.

К примеру, мы хотим запускать на удаленном компьютере командную строку используя замечательную утилиту psexec.exe из пакет SysInternals. Запускаем ADSIEdit.MSC и  переходим к элементу

CN=computer-Display,CN=419,CN=DisplaySpecifiers,CN=Configuration,DC=domainname ,DC=domainprefix

Заходим в его свойства и редактируем параметр AdminContextMenu.

Это свойство определяет порядок и вид будущих элементов меню. Элементы списка  ссылаются на VBS скрипты.

У меня дополнительно к стандартному набору определено 5 элементов.

Т.к. в примере мы добавляем psexec вы можете добавить только 5 пункт он будет у вас такого вида : 2,PSEXEC,\\domainname\netlogon\psexec.vbs и сохраняемся. (2 это порядковый номер  элемента меню). Теперь у вас в контекстном меню у доменного компьютера в ADUC появится элемент PSEXEC.

Здесь сразу замечу что ветка CN=419 указывает что у вас используется русифицированная оснастка ADUC, если она английская то необходим параметр CN=409

Затем соответственно создаем сам скрипт \\domainname\netlogon\psexec.vbs

On Error Resume Next

Set wshArguments = WScript.Arguments

Set objComputer = GetObject(wshArguments(0))

Comp = Mid(objComputer.Name, 4)

Set oShell = WScript.CreateObject(«WScript.Shell»)

oShell.Run  «psexec  \\»+comp+»  cmd»

Этот скрипт принимает параметры от ADUC и достает их них имя компьютера на котором контекстное меню было вызвано и затем запускает  саму утилиту psexec передавая ей необходимые параметры.

Если вы хотите использовать контекстное меню для пользователей то используйте CN=user-Display.

Собственно это все. Если вы хотите добавить что-то свое то придумываете задачу, пишите скрипт и у вас все получится:).

Один комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *