«Запуск от имени» для файла .bat

20

Я хотел бы запустить файл .bat от имени другого пользователя для устранения проблемы с правами, которую я подозреваю.

Для обычных .exe-файлов вы можете щелкнуть правой кнопкой мыши, чтобы получить «Запуск от имени…». Однако для файла .bat это не работает (нажатие Shift при щелчке правой кнопкой мыши не дает пункта меню «Запуск от имени…»). Почему это так, и как я могу «запустить как» .bat файл? Это вообще возможно?

Система Windows XP SP2 Home Edition.

sleske
источник

Ответы:

21

Используйте командную строку. Например,

runas /noprofile /user:COMPUTERNAME\USERNAME "C:\MYBAT.bat"

Подробнее о команде см. В справочной документации по Runas .

Дэн МакГрат
источник
1
По крайней мере, в WinXP это также работает в окне «Выполнить».
pcapademic
Этот параметр командной строки не работает для меня, в то время как тот, что ниже с правой кнопкой мыши Выполнить, как работает, как ожидалось. Какая разница ?
user85
20

Чтобы добавить параметр « Запуск от имени ...» для файлов .BAT в контекстное меню, используйте следующий файл REG:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\batfile\shell\runas\command]
@="\"%1\" %*"

Скопируйте вышеуказанное содержимое в Блокнот и сохраните файл с расширением .REG (скажем, bat_runas.reg). Щелкните правой кнопкой мыши файл .REG и выберите « Объединить» .

Чтобы добавить меню « Запуск от имени ...» для файлов .CMD , используйте этот файл REG:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\cmdfile\shell\runas\command]
@="\"%1\" %*"

Скопируйте вышеуказанное содержимое в Блокнот и сохраните файл с расширением .REG (скажем, cmd_runas.reg). Щелкните правой кнопкой мыши файл .REG и выберите « Объединить» .


источник
Отличный :-). Любая идея, почему это не по умолчанию?
слеске
@sleske - это было по умолчанию в Windows 2000. Он был удален в XP (и более поздних версиях) по соображениям безопасности. добавлен еще один «взлом» реестра для добавления Run as для файлов CMD.
@Molly: Спасибо. Тем не менее я не понимаю «соображений безопасности». Я всегда могу запустить cmd.exe «Запуск от имени», а затем запустить мой .bat, это будет то же самое, не так ли? Так где же проблема безопасности?
слеске
1
@sleske - иногда они называют его «Беспокойство пользователя», что и стало причиной удаления сводки из строки состояния в Windows 7 при выборе папки. возьми? ну, я не ...: P
1

Для обычных файлов .Exe вы можете запустить Run as Menu, нажав Shift + щелчок правой кнопкой мыши. Но этот метод не работает для файлов .bat и .cmd. Таким образом, вы должны добавить эту опцию, создав файл реестра

  1. Щелкните правой кнопкой мыши на рабочем столе
  2. нажмите на Новый
  3. Затем выберите Блокнот

  4. Теперь скопируйте код, написанный ниже, в этот файл блокнота

Редактор реестра Windows, версия 5.00

[HKEY_CLASSES_ROOT \ cmdfile \ shell \ runas \ command] @ = "\"% 1 \ "% *"

  1. Теперь нажмите "Ctrl + S", чтобы сохранить этот файл
  2. сохраните его с помощью «Runas.reg» на рабочем столе или в другом месте, которое вы хотите
  3. Теперь щелкните правой кнопкой мыши на файле «Runas.reg».
  4. нажмите «Объединить»
программирование
источник