Если же ни одна из предыдущих команд не помогла, то можно попробовать воспользоваться командой rundll32.exe MMCNDMGR.DLL, DllRegisterServer. Она перерегистрирует в реестре саму консоль управления Microsoft, а также некоторые стандартные оснастки данной консоли.
Восстановление Windows
В конце данного раздела рассмотрим несколько команд, которые можно использовать для восстановления многих пользовательских настроек операционной системы Windows к их стандартному состоянию (такими, какими они были в момент установки системы).
■ rundll32.exe SHELL32.dll, DllInstall — вызов данной команды восстанавливает по умолчанию настройки основных стандартных ActiveX-объектов системы, а также настройки параметров ветвей реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced и т. д.
■ rundll32.exe SYSSETUP.dll, RepairStartMenuItems — выполнение этой команды восстанавливает по умолчанию содержимое меню Пуск (при этом ссылки на установленные программы не исчезают). По умолчанию устанавливаются параметры ветви системного реестра HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, определяющей пути к папкам Windows (Мои документы, Мои рисунки, Мои видеозаписи и т. д.). Результат выполнения данной команды можно увидеть на рис. 2.3.
Рис. 2.3. Результат выполнения команды rundll32.exe SYSSETUP.dll, RepairStartMenultems
■ rundll32.exe SYSSETUP.dll, RunOEMExtraTasks — вызов данной команды возвращает на Рабочий стол ярлыки Проигрывателя Windows Media и Internet Explorer. Это выполняется путем присваивания значения yes параметру строкового типа DesktopShortcut, расположенному в ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Setup, а также путем присваивания значения 0 параметру DWORD-типа {871С5380-42A0-1069-A2EA-08002B30309D}, расположенному в ветвях реестра Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ NewStartPanel.
■ rundll32.exe SYSSETUP.dll, SetupOobeCleanup — вызов данной команды очищает наиболее важные файлы операционной системы. При этом удаляются и заново создаются (на основе текущих настроек операционной системы) все кусты реестра, а также удаляются различные ТМР-файлы.
ВНИМАНИЕ
После применения функций из библиотеки SYSSETUP.dll могут быть заменены стандартные системные файлы, поэтому все установленные в операционной системе заплаты и пакеты обновлений придется переустановить заново.
Файловая система
Теперь рассмотрим несколько команд rundll32.exe, предназначенных для работы с файловой системой Windows. С их помощью можно как создавать файлы, так и удалять уже созданные файлы и каталоги Windows, но нельзя указать содержимое файлов.
Создание файлов
Например, для создания файла можно воспользоваться командой rundll32.exe admparse.dll, CheckDuplicateKeysA «путь и имя файла с расширением». Она имеет один большой недостаток — после запуска вызывает ошибку. Тем не менее со своей работой она справляется — после ее выполнения будет создан или заново переписан указанный в параметре функции файл.
ПРИМЕЧАНИЕ
Например, подобные команды можно использовать для очистки файлов журналов при входе пользователей в систему, указывая их в одном из параметров реестра, предназначенных для автозагрузки.
Удаление файлов и папок
С помощью команд rundll32.exe можно удалить каталог или файл. Для этого достаточно воспользоваться приведенной далее командой: rundll32.exe ADVPACK.dll, DelNodeRunDLL32 «путь к кaтaлогу или файлу». Функция DelNodeRunDLL32 была написана специально для вызова с помощью команды rundll32.exe, поэтому никаких ошибок при своей работе она не выдает.
Существует еще одна команда, с помощью которой можно выполнить удаление. Но с ее помощью можно удалить только содержимое, а не сам каталог (то есть переписать необходимый каталог). Это команда rundll32.exe IEAKENG.dll, BToolbar_SaveA «путь к папке». Если указанная в данной команде папка уже существует, то она будет автоматически удалена, а потом заново создана.
ПРИМЕЧАНИЕ
Существует один интересный плюс этой команды — с ее помощью можно создать папки даже там, где пользователю это сделать нельзя. Например, в каталоге %userprofile%\Local Settings\Temporary Internet Files\Content.IE5.
Последняя команда, которую мы рассмотрим, — rundll32.exe WININET.dll, RunOnceUrlCache «путь к каталогу». Это очень страшная и непредсказуемая команда. Она имеет примерно следующий алгоритм работы: сначала она пытается открыть все содержащиеся в указанной папке файлы и папки. Если при попытке открытия файла или папки система вернула данной команде флаг FILEATTRIBUTETAGINFORMATION, то команда удаляет соответствующий файл или папку.