Рис. 2.5. Способ работы запуска команд из ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
Как видно на рисунке, при запуске команды rundll32.exe появляется диалог индикации, в котором указано, какой шаг установки сейчас выполняется. При этом был запущен Калькулятор, так как при сортировке между названиями параметров в разделе 1 Калькулятор, судя по названию параметра, запускается первым. После того как вы закроете окно Калькулятора, будет открыто окно командного процессора. При этом индикатор будет все еще указывать на первый шаг, ведь еще не началась обработка содержимого следующего раздела ветви (раздела 2). После того как вы закроете окно командного процессора, будет запущен Блокнот, и при этом индикатор начнет указывать на второй шаг операции установки.
Если вы не укажете значений параметров по умолчанию ни в одном из разделов данной ветви реестра, то индикатор установки отображаться не будет. Тем не менее сами команды будут выполняться.
В данном разделе будут перечислены некоторые команды rundll32.exe, которые не вошли ни в один из предыдущих разделов, но тем не менее с их помощью можно выполнить те или иные действия.
■ rundll32.exe INITPKI.dll, InitializePKI — позволяет установить поддержку файлов расширений сертификатов и отношения доверия в Active Directory.
■ rundll32.exe mobsync.dll, RegSetUserDefaults — с помощью данной команды можно быстро восстановить стандартные настройки синхронизации текущего пользователя при помощи сетевого соединения LAN. Все эти настройки находятся в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Syncmgr\AutoSync\«имя пользователя», которую команда и переписывает при своем запуске.
■ rundll32.exe mshtml, PrintHTML «путь к файлу» — с помощью этой команды можно вызвать диалог Печать для печати указанного файла.
■ rundll32 printui.dll, PrintUIEntry /s — позволяет отобразить диалоговое окно Свойства: Сервер печати. Аналогичное окно можно вызвать и с помощью контекстного меню папки Принтеры и факсы. Для этого в данном контекстном меню нужно выбрать команду Свойства сервера.
■ rundll32.exe MSI39.dll, VMAskDisableAutorun — очень интересная команда, которая используется при установке программы VMware. Сейчас практически повсюду можно услышать совет о том, как с помощью реестра отключить функцию автозапуска компакт-дисков — для этого нужно DWORD-параметру AutoRun, расположенному в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom, присвоить значение 0. Можно это сделать и без обращения к реестру — достаточно вызвать данную команду, после чего перед вами отобразится диалог с вопросом, действительно ли вы хотите отключить автозапуск дисков (рис. 2.6), на который нужно ответить Yes. Следует только учитывать, что если автозапуск уже отключен, то никакого диалога выведено не будет.
Рис. 2.6. Результат выполнения команды rundll32.exe MSI39.dll, VMAskDisableAutorun
Если же вы уже запретили автозапуск компакт-дисков, то с помощью еще одной команды — rundll32.exe MSI39.dll, VMRestoreRegistry— можно включить его снова.
■ rundll32.exe NETPLWIZ.dll, ClearAutoLogon — еще одна интересная команда. Сейчас стало модно конфигурировать на компьютере автоматический вход в систему с правами указанного пользователя. Как вызвать диалог для этого, было рассказано ранее, сейчас же мы решим задачу отключения данной функции. Функция полезна лишь в домашних условиях — в корпоративной сети ее установка на клиентских компьютерах может создать большую брешь в среде безопасности предприятия. Если вам все время приходится проверять компьютеры на автоматический вход в систему, то для облегчения своей работы вы можете воспользоваться данной командой, ведь после ее вызова функция автоматического входа в систему будет отключена.
■ rundll32.exe NETPLWIZ.dll, SHDisconnectNetDrives — вызов данной команды приводит к отключению всех сетевых дисков (дисков, которые создаются с помощью команды Подключить сетевой диск в меню Сервис папки или в контекстном меню значка Мой компьютер). Если на данный момент ни один диск не подключен, то будет выведено сообщение о том, что сетевых дисков, которые можно отключить, нет.
ПРИМЕЧАНИЕ
Сам же мастер подключения сетевых дисков можно вывести не только с помощью меню Сервис или контекстного меню значка Мой компьютер, но и с помощью команды rundll32.exe shell32.dll, SHHelpShortcutsRunDLL Connect. При этом с помощью команды rundll32.exe shell32.dll, SHHelpShortcuts_RunDLL Disconnect можно выполнить отключение дисков.
■ rundll32.exe netshell.dll, DoInitialCleanup — выполнение данной команды удаляет содержимое ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards.
Читать дальше