Недокументированные и малоизвестные возможности Windows XP — страница 9 из 28

Консоль управления Microsoft

Глава 9Окно консоли управления Microsoft

Консоль управления Microsoft — это специальное средство для администрирования компьютера, которое, начиная с Windows NT 4.0, пришло на смену Панели управления. Если раньше Панель управления содержала значительную часть программ, направленных на администрирование компьютера, то теперь эти программы преобразованы в так называемые оснастки, доступ к которым можно получить именно с помощью консоли управления Microsoft. Например, теперь именно с помощью оснасток можно выполнить такие операции, как добавление или удаление пользователя, дефрагментация диска, добавление или удаление общедоступных ресурсов, остановка или запуск служб и многое другое. При этом на основе наиболее часто используемых оснасток были созданы стандартные консоли (файлы с расширением MSC). Консоль — это набор оснасток, которые будут открываться при открытии консоли (при этом консоль будет открываться в программе mmc.exe, без которой работать с консолями невозможно). Другими словами, теперь с помощью консоли управления Microsoft можно с легкостью создавать собственные консоли, содержащие наиболее часто используемые вами оснастки.

Чтобы отобразить консоль управления Microsoft, необходимо в диалоговом окне Запуск программы ввести команду mmc.exe. Ввод данной команды приведет к отображению окна консоли управления Microsoft. Но еще несколько слов скажем о запуске программы mmc.exe — какие же процессы происходят на уровне файловой системы и реестра Windows XP при запуске консоли управления Microsoft?

Запуск программы mmc.exe

На уровне файловой системы, как оказывается, ничего интересного не происходит — по умолчанию консоль управления Microsoft не ведет журнал и не записывает события ни в один из журналов системы. Единственное, что можно отметить, так это запуск библиотеки MMCNDMGR.DLL, которая, как известно из части 1, является основной библиотекой консоли управления Microsoft и с помощью которой можно удалить или установить сведения о консоли управления в реестре. Например, с помощью команды rundll32.exe MMCNDMGR.DLL, DllRegisterServer выполняется повторная установка (в реестре) всех сведений, необходимых для запуска самой консоли управления Microsoft (в первую очередь сведений ветви системного реестра HKEY_CLASSES_ROOT\CLSID\{43136EB5-D36C-11CF-ADBC-00AA00А80033}, без которой работа с консолью управления Microsoft невозможна), а также выполняется повторная установка следующих стандартных оснасток: Элемент ActiveX, Ссылка на веб-ресурс и Папка.

На уровне реестра сначала идет обращение к ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Консоль управления (MMC)\Recent File List, содержащей список всех ранее открывавшихся консолей. Эта ветвь включает в себя четыре параметра строкового типа с именами от File1 до File4. Значения этих параметров определяют пути к уже открываемым вами консолям. Следует заметить, что программным способом не все открывавшиеся консоли записываются в эти четыре параметра, тем не менее на уровне реестра вы можете определить пути к любым консолям, с которыми часто работаете. Потом, например, можно запретить полный доступ к данной ветви реестра, оставив только доступ на чтение, чтобы ссылки на часто открываемые вами консоли не заменялись другими ссылками.

Идет также обращение к ветви реестра Windows HKEY_CURRENT_USER\Software\Microsoft\Консоль управления (MMC)\Settings. Она содержит параметр строкового типа List Save Location, определяющий путь к каталогу, в котором по умолчанию будут сохраняться экспортируемые из консоли управления Microsoft данные.

После того как будет определен список ранее запускавшихся консолей, консоль управления Microsoft начнет считывать из реестра данные, необходимые для ее работы. Как правило, все эти данные расположены в корневом разделе системного реестра HKEY_CLASSES_ROOT. После определения конфигурации консоль управления Microsoft просматривает ветвь HKEY_CURRENT_USER\Software\Policies\Microsoft\MMC, которая может содержать ограничения групповой политики на запуск программы mmc.exe. Например, в этой ветви могут находиться следующие два параметра DWORD-типа (параметр появляется, если вы пользовались консолью управления Microsoft).

■ RestrictAuthorMode — если значение равно 1, то запуск консоли управления Microsoft будет запрещен. При этом стоит заметить, что этот запрет не распространяется на консоли, созданные с помощью программы mmc.exe, — их по-прежнему можно будет открывать, но при этом работа в расширенном режиме (об этом ниже) будет невозможна.

■ RestrictToPermittedSnapins — если значение этого параметра равно 1, то будет запрещен запуск всех консолей (точнее, всех оснасток), созданных с помощью консоли управления Microsoft. Саму же консоль управления Microsoft можно будет открывать, хотя, какой от нее толк, если открытие всех оснасток будет запрещено, неизвестно.

Консоль управления Microsoft также ищет DWORD-параметр Restrict_Run в ветвях реестра формата HKEY_CURRENT_USER\Software\Policies\Microsoft\MMC\GUID-оснастки}. При этом если параметр Restrict_Run в одной из ветвей будет равен 1, то соответствующую оснастку запускать будет запрещено. Для примера работы данного ограничения можно создать параметр Restrict_Run в ветви реестра HKEY_CURRENT_USER\Software\Policies\Microsoft\MMC\{C96401CC-0E17-11D3-885B-00C04F72C717} и присвоить ему значение 1. После этого будет запрещено запускать оснастку Папки. Как правило, она всегда запускается вместе с созданными консолями.

Окно программы mmc.exe

Если приведенные выше параметры не существуют или равны нулю (точнее, параметр RestrictAuthorMode), то консоль управления Microsoft откроется и отобразит свое окно (рис. 9.1). Стоит заметить, что при открытии консоли управления Microsoft просто создается новая консоль с именем Консоль 1, что и можно увидеть на рис. 9.1, если посмотреть на строку заголовка окна.

Рис. 9.1. Окно консоли управления Microsoft


Окно консоли управления Microsoft включает в себя вложенное окно, имеющее заголовок Корень консоли, с которым по умолчанию и будет выполняться работа (добавление или удаление оснасток, а также работа с содержимым оснастки). Но вы можете открыть еще одно окно Корень консоли. Для этого достаточно в меню Окно консоли управления Microsoft выбрать команду Новое (или нажать комбинацию клавиш Ctrl+W). Возможность создания отдельных окон в консоли была реализована для удобства работы с оснастками (чтобы не перегружать одно окно большим количеством загруженных оснасток). Например, в одно окно может быть загружена одна оснастка, в другое окно — несколько других оснасток и т.д., а переход между окнами можно выполнить с помощью меню консоли управления Microsoft Окно или с помощью выделения определенного окна мышью.

Существует также возможность определения отображаемых элементов создаваемой консоли. Для этого предназначена команда Настроить меню Вид. После вызова данной команды откроется диалог, который можно увидеть на рис. 9.2. С его помощью можно отобразить или скрыть определенные элементы окна консоли, просто сняв или установив флажок напротив их описания. При этом работа с данным диалогом не вызовет трудностей, так как при снятии или установке флажка в консоли автоматически скрывается или отображается соответствующий данному флажку элемент.

Рис. 9.2. Настройка отображения консоли


Но это еще не все команды для настройки вида создаваемой вами консоли. Например, в меню Действие можно выбрать команду Новый вид панели задач (панель задач находится слева в окне, и по умолчанию на ней расположена только одна папка — Корень консоли). После ее выбора откроется Мастер создания вида панели задач (рис. 9.3), с помощью которого можно определить расположение панели задач в окне, а также варианты отображения элементов на ней.

Рис. 9.3. Мастер настройки вида панели задач


С помощью меню Вид можно также определить режим вывода структуры оснасток (команды Крупные, Мелкие, Список, Таблица), но, поскольку вы еще не загрузили в созданную консоль ни одной оснастки, эти команды пока рассматривать не будем.

Если вы уже изменили некоторые настройки отображения элементов консоли с помощью диалога Параметры меню Вид, то изменения можно сохранить в меню Избранное. Например, так вы можете определить в данном меню несколько вариантов отображения консоли и при необходимости переходить между ними.

Хранение параметров настройки консоли

Стоит еще сказать о хранении настроек консоли. Если вы думаете, что настройки консоли хранятся в реестре, то это не так. На самом деле все настройки консолей содержатся в самих файлах консолей. Это легко понять на примере консоли, открытой в редакторе, подобном Блокноту. Это довольно важная особенность работы консоли, понимание которой очень важно для правильного ее использования.

Рассмотрим простой пример. Допустим, есть консоль, содержимое которой было скрыто с помощью диалога Параметры (рис. 9.4). Другими словами, все флажки, которые находятся в этом диалоге, были сняты.

Рис. 9.4. Использование диалога Параметры для скрытия возможности настройки вида консоли


Если вы используете такой метод скрытия возможности изменения вида консоли, то посмотрим на содержимое данного файла консоли, открытого в Блокноте (рис. 9.5).

Рис. 9.5. Форматирование консоли


Как можно заметить, файлы консоли являются обычными файлами XML. А теперь посмотрите на нижнюю строку на рис. 9.5 — в этой строке определяется содержимое тега ViewOptions. Данный тег имеет следующие важные параметры:

■ NoStdMenus — если значение равно true, то в меню консоли будут скрыты меню Действие, Вид и Избранное;

■ NoStdButtons — если значение параметра равно true, то в консоли будет скрыта панель инструментов;

■ NoSnapinMenus — если значение равно true, то меню оснасток будут скрыты (если, конечно, они имеют меню);

■ NoSnapinButtons — если значение параметра равно true, то панели инструментов оснасток будут скрыты;

■ NoStatusBar — если значение равно true, то строка состояния консоли будет скрыта;

■ NoTaskpadTabs — если значение данного параметра равно true, то вкладки панели задач консоли будут скрыты;

■ DescriptionBarVisible — если значение равно false, то область описания консоли будет скрыта.

Например, если присвоить параметру NoStdMenus значение false, то при следующем открытии данной оснастки меню Действие, Вид и Избранное опять отобразятся в строке меню.

Рассмотрим другой пример. В этом примере для ограничения возможностей работы консоли воспользуемся не только диалогом Параметры из меню Вид, но и диалогом Параметры, открыть который можно с помощью команды Параметры меню Консоль (рис. 9.6). С помощью данного диалога можно изменить значок консоли, а также определить режим ее отображения (список Режим консоли): Авторский, Пользовательский — полный доступ, Пользовательский — ограниченный доступ, много окон, Пользовательский — ограниченный доступ, одно окно. Режим Авторский используется по умолчанию и позволяет выполнять любые команды, доступные с помощью консоли. Режим Пользовательский — полный доступ позволяет выполнить любые доступные в консоли возможности, но запрещает добавление в консоль новых оснасток. Режим Пользовательский — ограниченный доступ, много окон запрещает добавление в консоль новых оснасток, а также закрытие окон консоли (при этом новые окна будет разрешено создавать). Режим Пользовательский — ограниченный доступ, одно окно запрещает добавление в консоль новых оснасток, а также использование в консоли более одного окна.

Рис. 9.6. Диалог настройки ограничений консоли


Если будет выбран один из пользовательских режимов отображения консоли, то в диалоге Параметры также станут доступны флажки Не сохранять изменения для этой консоли и Разрешить пользователю настраивать вид консоли. Из названия флажков понятно, для ограничения чего они используются.

На рис. 9.7 можно увидеть результат использования режима Пользовательский — ограниченный доступ, одно окно. Как можно заметить, возможность добавления и удаления оснасток, а также возможность создания новых окон были скрыты. Тем не менее команда Параметры из меню Консоль осталась, но при ее открытии окажется, что она не будет содержать вкладки Консоль.

Рис. 9.7. Применение пользовательского режима


Итак, что же изменилось при использовании режима Пользовательский — ограниченный доступ, одно окно в содержимом файла консоли? На рис. 9.8 можно увидеть изменения, которые произошли в верхнем теге MMC_ConsoleFile. Одним из его параметров является ProgramMode, который в данном случае равен UserSDI. Следует заметить, что при авторском режиме доступа к оснастке этот параметр равен Author. Другими словами, если вы измените значение параметра ProgramMode на Author, то при следующем запуске консоли попадете в авторский режим с возможностью добавления новых оснасток.

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

Рис. 9.8. Применение пользовательского режима консоли

Добавление оснасток в консоль

Теперь попробуем загрузить какую-нибудь оснастку в созданную консоль. Для этого необходимо воспользоваться командой Добавить или удалить оснастку из меню Консоль (или комбинацией клавиш Ctrl+M). После вызова этой команды перед вами отобразится диалоговое окно Добавить/удалить оснастку (рис. 9.9), с помощью которого можно добавить в консоль новую оснастку или удалить уже присутствующие. Чтобы добавить консоль, нужно нажать кнопку Добавить.


Рис. 9.9. Диалог добавления оснасток в консоль


После нажатия кнопки Добавить консоль управления Microsoft начнет просматривать содержимое ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns. Она хранит ссылки на все GUID-номера оснасток, доступных на компьютере. Именно список оснасток из этой ветви и будет отображаться в появившемся после нажатия кнопки Добавить диалоговом окне. Иными словами, если удалить из данной ветви GUID-номер оснастки, то ее нельзя будет открыть с помощью данного списка, хотя оснастка по-прежнему будет работать в уже готовых консолях. Но для удаления оснастки из списка можно поступить проще — дело в том, что все оснастки, которые будут отображаться в списке Добавить изолированную оснастку, должны содержать в своей ветви вложенный раздел StandAlone. Если его удалить, то оснастка не будет отображаться в списке Добавить изолированную оснастку. Можно же, наоборот, добавить этот раздел к одной из ветвей, в которой его не существует. Например, если добавить его к разделу {243E20B0-48ED-11D2-97DA-00A024D77700}, то появится возможность включать в консоль оснастку Модуль расширения съемных носителей. А если добавить его к разделу {BACF5C8A-A3C7-11D1-A760-00C04FB9603F}, то появится возможность добавления к консоли оснастки Установка программ (пользователи). Можно также добавить оснастку Установка программ (Компьютеры). Для этого необходимо воспользоваться разделом {942A8E4F-A261-11D1-A760-00C04FB9603F}. Две предыдущие возможности понадобятся в следующих главах книги, ведь по умолчанию никаким другим способом нельзя получить доступ к оснасткам Установка программ (пользователи) и Установка программ (Компьютеры), если компьютер не находится в домене.

С помощью данной ветви можно также изменить название оснастки, отображаемое в списке оснасток, — оно хранится в параметре, имеющем строковый тип NameStringIndirect ветви HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MMC\SnapIns\{GUID-номер оснастки}. Например, чтобы изменить название оснастки Диспетчер устройств на Описание установленного на компьютере оборудования, необходимо присвоить новое название оснастки параметру NameStringIndirect ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\{74246bfc-4c96-11d0-abef-0020af6b0b7a} (рис. 9.10).

Рис. 9.10. Изменение названия оснастки Диспетчер задач


ПРИМЕЧАНИЕ

Существует еще один трюк, который можно выполнить с помощью ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\Snaplns\{GUID-номер оснастки}. Это запрет отображения диалога Добавить/удалить оснастку. Для этого достаточно изменить название одной из ветвей реестра {GUID-номер оснастки} на название {{GUID-номер оснастки}. Например, если изменить название уже рассмотренного раздела {74246bfc4c96-11d0-abef-0020af6b0b7a} на {{74246bfc4c96-11d0-abef-0020af6b0b7a}, то при выборе команды Добавить или удалить оснастку из меню Консоль ничего происходить не будет. 

Для примера попробуем добавить в консоль оснастку Редактор объекта групповой политики. Для этого необходимо выделить в списке эту оснастку, нажать кнопку Добавить, после чего появится окно Выбор объекта групповой политики, в котором нужно нажать кнопку Готово. Далее нужно нажать кнопку Закрыть в окне Добавить изолированную оснастку, чтобы закрыть список оснасток. В диалоге Добавить/удалить оснастку появилась добавленная оснастка. В этом окне нужно нажать кнопку OK. Теперь предлагаю посмотреть на рис. 9.11. Слева на этом рисунке отображена консоль в расширенном виде. Этот вид стал доступен в Windows XP и отличается от обычного тем, что слева появилась панель описания элемента оснастки. Очень часто эта панель мешает просмотру оснастки, поэтому приходится переходить к обычному виду (по умолчанию оснастка загружается в расширенном виде). Справа же на рисунке отображена та же оснастка, но в обычном виде — при этом возможность расширенного вида была удалена. Чтобы удалить возможность расширенного вида, необходимо удалить из ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns раздел {B708457E-DB61-4C55-A92F-0D4B5E9B1224}. 

Рис. 9.11. Расширенный и обычный вид консоли


Напоследок рассмотрим краткое описание всех оснасток, доступных в операционной системе Windows XP. Далее они будут подробно описаны.

■ Дефрагментация диска — позволяет узнать, необходима ли диску дефрагментация, а также выполнить ее. Для открытия данной оснастки можно воспользоваться стандартной консолью Windows XP dfrg.msc.

■  Диспетчер устройств — дает возможность просмотреть конфигурацию оборудования, установленного на компьютере, а также удалить, обновить или откатить драйверы для конкретного компонента компьютера. Оснастку можно вызвать с помощью консоли devmgmt.msc.

■ Журналы и оповещения производительности — с помощью данной оснастки можно задать ведение журнала производительности или трассировки, а также указать механизм оповещения администратора при возникновении определенного события. Оснастку можно вызвать в виде стандартной консоли Производительность — perfmon.msc.

■ Управляющий элемент WMI — позволяет настроить параметры работы элемента WMI, который добавляет новые функциональные возможности серверу сценариев Windows. Для открытия данной оснастки можно воспользоваться консолью Инструментарий управления WMI, вызов которой осуществляется с помощью команды wmimgmt.msc.

■ Управление компьютером — содержит набор оснасток, с помощью которых можно выполнить большинство административных работ на локальном компьютере: Просмотр событий, Общие папки, Диспетчер устройств и многие другие. Оснастку можно вызвать как одноименную консоль compmgmt.msc.

■ Локальные пользователи и группы — позволяет добавить или удалить группы пользователей, доступные на компьютере, а также добавить, удалить или отредактировать свойства учетной записи пользователей, зарегистрированных на компьютере. Для открытия оснастки можно воспользоваться одноименной консолью, вызов которой осуществляется с помощью команды lusrmgr.msc.

■ Общие папки — с помощью данной оснастки можно просмотреть все общедоступные папки системы, а также добавить или удалить общедоступную папку. Можно также настроить параметры доступа к общедоступным папкам или просмотреть открытые в данный момент общедоступные ресурсы и сеансы подключения. Для открытия оснастки можно воспользоваться одноименной консолью, вызов которой осуществляется с помощью команды fsmgmt.msc.

■ Папка — является стандартной оснасткой, устанавливаемой вместе с консолью управления Microsoft и позволяющей упорядочить содержимое консоли в случае, когда она включает в себя большое количество оснасток.

■ Просмотр событий — с помощью этой оснастки можно просмотреть стандартные журналы системы. Оснастку можно вызвать в виде стандартной консоли eventvwr.msc.

■ Редактор объекта групповой политики — позволяет настроить параметры пользователя или компьютера, направленные на ограничения предоставляемых функций. Оснастку можно вызвать с помощью консоли gpedit.msc.

■ Результирующая политика — дает возможность просмотреть установленные для компьютера или пользователя параметры ограничений групповой политики. Оснастку можно вызвать в виде стандартной консоли rsop.msc.

■ Сертификаты — с помощью данной оснастки можно просмотреть доступные на компьютере сертификаты и их свойства, а также выполнить поиск среди сертификатов. Для ее открытия можно воспользоваться одноименной консолью, вызов которой осуществляется с помощью команды certmgr.msc.

■ Служба индексирования — позволяет настроить службу индексирования или найти с ее помощью файлы по части их содержимого. Для открытия данной оснастки можно воспользоваться консолью ciadv.msc.

■ Службы — с помощью данной оснастки можно отключить, запустить, приостановить или продолжить работу большинства служб, установленных на компьютере, а также настроить их запуск. Для открытия оснастки можно воспользоваться консолью services.msc.

■ Ссылка на веб-ресурс — с помощью этой оснастки можно загрузить в консоль локальную HTML-страницу или веб-сайт для его просмотра (как в браузере). Она является стандартной оснасткой, устанавливаемой вместе с консолью управления Microsoft.

■ Управление политикой безопасности IP — позволяет настроить правила передачи сообщений по протоколу IP, а также различные фильтры пакетов для этого протокола. Оснастка является частью консоли Групповая политика, вызвать которую можно с помощью команды gpedit.msc.

■ Управление съемными носителями — с помощью этой оснастки можно просмотреть список подключенных к компьютеру съемных носителей, а также извлечь эти носители. Для открытия оснастки можно воспользоваться консолью Съемные носители, вызов которой осуществляется с помощью команды ntmsmgr.msc.

■ Управление дисками — позволяет отформатировать диск, сделать его активным, изменить букву локального диска, а также открыть его содержимое в Проводнике. Для ее открытия можно воспользоваться консолью Управление дисками, вызов которой осуществляется с помощью команды diskmgmt.msc.

■ Элемент ActiveX — является стандартной оснасткой, устанавливаемой вместе с консолью управления Microsoft.

■ Шаблоны безопасности — с помощью данной оснастки можно создать собственный шаблон безопасности или воспользоваться стандартными шаблонами для быстрой настройки параметров безопасности компьютера.

Глава 10