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

Windows 7. Запуск от имени SYSTEM

Давно хотел написать этот пост, но все руки не доходили. И вот настал момент, когда надо запустить regedit от имени SYSTEM (NT AUTHORITY\SYSTEM) и нужно приложение ля запуска, а его нет, опять пришлось искать. Сразу скажу, что штатных средств для запуска приложений от имени SYSTEM (NT AUTHORITY\SYSTEM) я не нашел (может плохо искал?). Есть несколько программ для запуска от имени привилегированного пользователя, рассмотрим по-порядку:

1. используем psexec из Sysinternals PsTools

Этот способ подсмотрен на форуме ru-board.com. Итак, качаем psexec, распаковываем в любую удобную директорию, запускаем CMD от имени Администратора, пробуем.

C:\psexec>psexec.exe -s -i -d regedit.exe

Запустится regedit, теперь можно редактировать защищенные разделы реестра.

2. используем утилиту starter

Есть такая утилита starter (не CodeStuff Starter, которая вместо него гуглится!) Так вот она запускает интерактивный сеанс от имени SYSTEM (NT AUTHORITY\SYSTEM) уже с командным процессором CMD. Так как первоисточник найти не могу, придется выложить эту утилитку на Яндекс Диск.

3. Удаление заблокированных разделов реестра с помощью regassasin от MalwareBytes

Саму утилитку можно скачать по ссылке. Не думаю, что стоит долго рассказывать, как пользоваться приложением, которое имеет всего одно окно и одну текстовую строку. Все и так понятно, строка служит для указания пути к разделу реестра, который надо удалить, кнопка Delete нужна для удаления раздела (неожиданно, правда?).

По сабжу также можно почитать


Sound Blaster Live 5.1 на Windows x64

Этот пост относится к Windows 7 x64, но я на 99,99% уверен, что заработает на Windows 8 и 10 X64. Ну что погнали?! После кучи неудачных попыток установить драйвер с официального сайта, начал судорожно гуглить и нашел-таки ответ. Для того, чтобы все заработало, надо удалить все некорректные драйвера. Делается это так. Приведу лишь нужный текст.

  1. Кликните ПУСК. Кликните Выполнить. Напечатайте cmd и нажмите OK. Должно появиться окно командной строки.
  2. Напечатайте "set DEVMGR_SHOW_DETAILS=1" (без кавычек) и нажмите Enter.
  3. Напечатайте "set DEVMGR_SHOW_NONPRESENT_DEVICES=1" (без кавычек) и нажмите Enter.
  4. Напечатайте "start devmgmt.msc" ( без кавычек ) и нажмите Enter.
  5. Должен появиться "Device Manager", или "Управление устройствами" в русской версии.
  6. Кликните View (Вид). Кликните Show hidden devices (Показать скрытые устройства).
  7. Удаляем вся, что относится к Creative
  8. Перезагружаемся для верности

Далее нам нужен кошерный драйвер. Устанавливаем загруженное приложение как обычную программу, затем открываем диспетчер устройств, ПКМ по пиктограмме неизвестного устройства, выбираем "Обновить драйверы" и устанавливаем из директории, куда установлены наши kxdrv3550-x64-full.exe. После этих нехитрых манипуляций наш SB Live 5.1 начинает работать, что самое удивительное, драйвер установился для Creative Gameport. В моем случае в диспетчере устройств вот такая картина.

Сайт проекта kxproject.com.

Запуск 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-файл, но об этом позже.