среда, 13 июня 2012 г.

Скрипты для Active Directory


Все (ну или почти все) системные администраторы пользуются консолью Active Directory Users and Computers (ADUC) для создания записей, перемещения компьютеров, изменения атрибутов и т.д. Мне же захотелось несколько расширить её функционал путем добавления в стандартное меню двух дополнительных пунктов, вызывающих фукции, часто часто требующиеся мне в повседневной работе — получение информации о текущем зарегистрированном на компьютере пользователе, а также соединение с этим компьютером по RDP.

Для выполнения задачи создано два скрипта, rdp.vbs и currentlogonuser.vbs:
rdp.vbs
On Error Resume Next
dim doc, page
Set wshArguments = WScript.Arguments
Set objComputer = GetObject(wshArguments(0))
Comp = Mid(objComputer.Name, 4)
szRA = "%SystemRoot%\system32\mstsc.exe /v:"
szRA = szRA & Comp & " "
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run szRA, 1, false
currentlogonuser.vbs
On Error Resume Next
dim doc, page
Set wshArguments = WScript.Arguments
Set objComputer = GetObject(wshArguments(0))
strComputer = Mid(objComputer.Name, 4)
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
Wscript.Echo "Logged-on user: " & objComputer.UserName
Next
Оба скрипта помещены в\\domain.corp\netlogon
Далее нам необходимо изменить параметры AD, для этого запустите консоль ADSI — наберите в командной строке adsiedit.msc, раскройте контекст конфигурации по умолчанию и затемCN=DisplaySpecifiers. Выберите пункт в соответствии с локализацией ADUC, откройте свойства CN=computer-Display и откройте для изменения параметр adminContextMenu (см. рис.)
[note]Русская и английская локализации имеют номера CN=409 и CN=419, я рекомендую изменить параметры обоих пунктов, чтобы можно было использовать консоли обоих языков.[/note]
Данный параметр как раз отвечает за отображаемые пункты меню в консоли. Добавьте две строки:
  • 2,RDP Connect,\\domain.corp\netlogon\rdp.vbs
  • 3,Current Logon User,\\domain.corp\netlogon\currentlogonuser.vbs
Первый знак — порядковый номер отображаемого  пункта меню, далее отображаемое имя и затем путь к исполняемому файлу, в нашем случае это скрипты.
После добавления записей изменения применятся сразу, поэтому запустив на рабочей станции администратора консоль ADUC и кликнув правой клавишей мыши по учетной записи компьютеры, вы увидите новые пункты меню:
Выбрав первый пункт, вы сразу соединитесь с выбранной рабочей станцией или сервером с помощью Remote Desktop, второй пункт предоставит информацию о текущем пользователе компьютера.
Данное изменение меню работает и в Windows Server 2003 и в 2008. Удаленная консоль запускалась как из под XP, так и из под Windows 7.
Надеюсь такое простое дополнение упростит администрирование и поможет Вам в дальнейшей работе

2 комментария:

  1. Пункты появились, а вот действий при их выборе никаких не происходит...

    ОтветитьУдалить
  2. Ну и каптча у тебя чувак... это пипеац! еле ввёл.

    ОтветитьУдалить