Как запустить программу от имени администратора при запуске в Windows 10? [Дубликат]


41

На этот вопрос уже есть ответ здесь:

У нас есть программа, которая имеет проблемы с запуском в Windows 10. Если программа НЕ запускается от имени администратора, она выдает сообщение «Отказано в доступе» прямо перед запуском. Если мы запускаем программу от имени администратора, она НЕ выскакивает сообщение об ошибке и загружается нормально. Тем не менее, теперь программа не будет запускаться при запуске. Итак, нам нужно запустить нашу программу от имени администратора и иметь возможность автоматически запускать программу при запуске.

Обновление: хотя мой вопрос и дубликат вопроса могут быть одинаковыми, но ответы на оба вопроса не решили мою проблему. Планировщик задач только запускает мое приложение или программу как фоновый процесс. Таким образом, моя программа не загружается. Тем не менее, я вижу свой процесс в диспетчере задач в фоновом режиме. Вот и все.


@Moab: Можете ли вы подтвердить, что дубликат относится к Win 10?
fixer1234

@Ramhound Да, это так, но планировщик задач запускает мою программу не нормально, а как фоновый процесс. Это не то, что я ищу. Я что-то пропустил?
Thn

@ fixer1234, если вы конкретно говорите о моем вопросе и вопросе, помеченном как дубликат, то нет. Мой вопрос связан с Windows 10, а дубликат связан с Windows 7.
ThN

@Ramhound Вы правы, но один вопрос конкретно касается решения для Windows 10, а другой - для Windows 7, хотя оба решения применяются для Windows 10.
ThN

@ Ramhound Да, вы правы. Вы спросили, как мой вопрос и дубликат вопроса отличаются. Я сказал вам, кроме версий Windows, они оба одинаковы. Вы можете пометить мой вопрос как дубликат, если хотите.
Thn

Ответы:


22

Это немного старый, но у меня были те же проблемы, и ничего из вышеперечисленного не работало. Я создал VBScript, который запускался при запуске и открывал указанную программу.

1) Щелкните правой кнопкой мыши на программе, перейдите в свойства, затем совместимость и проверьте "Run as Administrator"

2) Создать с VBScriptпомощью текстового редактора (я использую Notepad ++)

Автор сценария:

  Set WshShell = CreateObject("WScript.Shell" ) 
  WshShell.Run """C:\Program Files (x86)\File\Program.exe""", 0 'Must quote command if it has spaces; must escape quotes
  Set WshShell = Nothing

Примечание: это C:\Program Files (x86)\File\Program.exeполный путь к программе с расширением. Кроме того, не забудьте сохранить его как. VBS

3) Теперь поместите VBScript в папку автозагрузки:

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup

Или, альтернативно, получить к нему доступ по Win+ Rshell:startupEnter

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


Вы можете использовать %appdata%вместо своих персонализированных AppData \ Roaming
Ben Philipp

Это именно то, что я делаю, но я использовал Delphi для написания мини-программы, которая будет вызывать мою программу при запуске. Эта мини-программа запускалась при запуске. Этот обходной путь сделал свою работу.
Thn

Я обнаружил, что для вызова ярлыка с повышенными правами, чтобы он работал с повышенными правами, мне пришлось позволить сценарию запустить cmd.exe с параметром / c, чтобы запустить ярлык.
Альф П. Штайнбах

Чтобы было ясно, это все еще побуждает пользователя сказать, хотят ли они запустить программу от имени администратора, верно? Эта уловка запуска не обходит это как-то, верно?
Кайл Делани

Должен быть встроенный / нативный способ сделать это.
HolyAvengerOne

29

Создайте запланированное задание для запуска при входе в систему.

В диалоговом окне « Создать задачу » выберите следующее:

  1. Общие (вкладка) - запуск с наивысшими привилегиями
  2. Триггеры (вкладка) - Создать (кнопка) - Начать задачу - При входе в систему

2
Я следовал вашему ответу, но он запускает программу как фоновый процесс, а не как приложение. В результате на экране ничего не загружается, и процесс отображается под фоновым процессом в диспетчере задач.
Thn

Нужно ли запускать программу для любого пользователя, вошедшего в систему, или только для пользователя, вошедшего в систему в первую очередь?
Стивен

2
это на самом деле намного лучший ответ, чем предыдущий, потому что вы можете запрограммировать запуск демона при запуске компьютера, когда ни один пользователь не вошел в систему, например, мне нужно запускать систему с отключенным доступом при запуске компьютера, даже если я или любой другой пользователь войдет в систему этот компьютер (deluge - это торрент-клиент, который в не классическом режиме станет клиент-сервером, поэтому мне не нужно, чтобы клиент запускал сервер), единственное другое решение, но это запуск его другим сервисом ( как cron Cygwin) или сделать его сервисом (и сделать это вручную, если разработчики программного обеспечения не спроектировали его так)
THESorcerer

1
@ThN Вы можете попытаться добавить небольшую задержку (10-15 секунд) для триггера. Это исправило «бег на заднем плане» для меня. Это было для скрипта AutoHotkey, не знаю, относится ли он к вашей проблеме.
Андерс Йоргенсен

2
Сначала он тоже не работал, но только потому, что я установил триггер на «При запуске», что неправильно, потому что моя программа не является службой, это приложение с пользовательским интерфейсом. Вместо этого мне пришлось установить триггер на «При входе в систему» ​​и выбрать пользователя «Мои окна». Это сработало сразу после этого!
Николас С.

4

Ну, почему бы вам просто не скопировать ярлык программы в папку «Автозагрузка» и в ее свойствах включить разрешения администратора на вкладке «Совместимость»?


1
Мы сделали это, и моя программа все еще выдает Access Deniedсообщение об ошибке.
Thn

Вы щелкнули правой кнопкой мыши ярлык в папке «Автозагрузка» и правильно установили его разрешения? Параметр «Запуск от имени администратора» обычно присутствует на вкладке «Совместимость» окна свойств
Surya Teja Karra

1
Вы правы. Во-первых, мы включили Run with highest privilegeфлажок в разделе совместимости для ярлыка. Затем нажал на иконку, все равно выскочило сообщение об ошибке. Затем мы переместили ярлык в папку автозагрузки, она все равно вызвала сообщение об ошибке. Мы даже попробовали Task Scheduler и до сих пор так же. Я даже пробовал командный файл в планировщике задач, как кто-то предложил. это то же самое. Единственный раз, когда он загружается нормально, это когда мы щелкаем правой кнопкой мыши по фактическому исполняемому файлу для моей программы и Run as an Administratorвыбираем опцию во всплывающем меню. Единственный пользователь - админ в sys
Thn

Вы знаете, в те времена, у XP было это контекстное меню «Запуск от имени», с помощью которого я мог запускать программу, поскольку другой пользователь получил разрешение на это. Может быть, эта ваша программа нуждается в том же: /
Сурия Теджа Карра

1
Это не работает
HolyAvengerOne

1

Вы можете попробовать дважды проверить вкладку «Безопасность» в «Свойствах программы / приложения» и посмотреть, есть ли у всех пользователей / групп «Полный доступ». Я не уверен, что это исправит, но стоит попробовать


1
Это не работает
HolyAvengerOne
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.