суббота, 22 августа 2015 г.

Запуск CMD от имени администратора

Данный пост, в первую очередь касается Windows 7, хотя на 99,99% уверен, что сработает и под Windows 8 и 10. Собственно, речь пойдет о запуске командного процессора CMD.EXE из контекстного меню директории. Что наглядно иллюстрирует скриншот. Этот пост создан по материалам c сайта WikiHow.com, скриншоты привожу оттуда же (отмазался в общем).

По приведенной выше ссылке все подробно расписано, но, к сожалению, по английски. Моя статья может восприниматься не иначе как вольный пересказ ее содержания.

Ну что, погнали?! Суть в том, что очень часто хочется быстро запустить командный процессор из контекстного меню папки, при чем от имени Администратора. Конечно же можно вызывать контекстное меню с зажатой клавишей (то есть Shift + ПКМ), об этом подробней здесь иногда этого вполне достаточно, но при этом CMD.EXE запускается от имени текущего пользователя. Как же сделать то же самое от имени Администратора? Легко! Надо кое-какие записи добавить в реестр. Приведу для начала способ с INF-файлом. Итак, создаем INF-файл со следующим содержимым:

[version]
signature="$CHICAGO$"

[CmdHereAsAdminInstall]
CopyFiles = CmdHereAsAdmin.Files.Inf
AddReg = CmdHereAsAdmin.AddReg

[DefaultInstall]
CopyFiles = CmdHereAsAdmin.Files.Inf
AddReg = CmdHereAsAdmin.AddReg

[DefaultUnInstall]
DelFiles = CmdHereAsAdmin.Files.Inf
DelReg = CmdHereAsAdmin.DelReg

[SourceDisksNames]
55="CMD Prompt Here as Administrator","",1

[SourceDisksFiles]
CmdHereAsAdmin.INF=55

[DestinationDirs]
CmdHereAsAdmin.Files.Inf = 17

[CmdHereAsAdmin.Files.Inf]
CmdHereAsAdmin.INF

[CmdHereAsAdmin.AddReg]
HKLM,%UDHERE%,DisplayName,,"%CmdHereAsAdminName%"
HKLM,%UDHERE%,UninstallString,,"rundll32.exe syssetup.dll,SetupInfObjectInstallAction
DefaultUninstall 132 %17%\CmdHereAsAdmin.inf"
HKCR,Directory\Shell\runas,,,"%CmdHereAsAdminAccel%"
HKCR,Directory\Shell\runas\command,,,"%11%\cmd.exe /k cd /d ""%1"""
HKCR,Drive\Shell\runas,,,"%CmdHereAsAdminAccel%"
HKCR,Drive\Shell\runas\command,,,"%11%\cmd.exe /k cd /d ""%1"""

[CmdHereAsAdmin.DelReg]
HKLM,%UDHERE%
HKCR,Directory\Shell\runas
HKCR,Drive\Shell\runas


[Strings]
CmdHereAsAdminName="CMD Prompt Here as Administrator PowerToy (Uninstall only)"
CmdHereAsAdminAccel="CMD here as Admin"
UDHERE="Software\Microsoft\Windows\CurrentVersion\Uninstall\CmdHereAsAdmin"

Осталось этот Inf-файл сохранить под именем "CmdHereAsAdmin.inf" (да-да именно с таким именем, иначе, при установку выскочит ошибка). Затем выываем на нем контекстное меню, выбираем установить и нужный пункт CMD here as Admin появится. Аналогично можно создать reg-файл, но об этом позже.

Комментариев нет:

Отправить комментарий