Я только хочу, чтобы запрос UAC запрашивался для net.exe [.] Является ли это возможным?
Насколько мне известно, ответ, скорее всего, "Нет".
UAC отображается для nircmd
поэтому он может запускать net start
с надлежащими повышенными привилегиями (которые требуются в Windows). Это повышение должно произойти до net start
запуска. По моему опыту, это в целом верно для многих сторонних программ или скриптов, которые выполняют аналогичную функцию.
Elevate является исключением (то есть он отображает Net Command
в UAC), но, опять же, он не подавляет окно консоли, как это делает nircmd
.
После этого я не хочу, чтобы появилось окно консоли.
Хотя окно консоли может отображаться с другими решениями (например, elevate.exe
, сценарий .vbs
), новое окно консоли не отображается после запуска nircmd elevatecmd execmd net start example_service
.
Подавление Консольного Окна
Несмотря на то, что нет возможности отобразить net.exe
в UAC, вы можете отключить окно консоли для командного файла (что, честно говоря, является вашей истинной целью, если я не слишком неправильно читаю):
Создайте файл .bat
например, start_service.bat
например:
C:\path\to\nircmd.exe elevatecmd execmd net start example_service
Создайте новый ярлык где-нибудь для запуска этого .bat
файла. Сделайте цель похожей на следующую:
C:\path\to\nircmd.exe execmd C:\path\to\start_service.bat
В этом примере, когда используется этот ярлык (не файл .bat
напрямую), будет отображаться только приглашение UAC (окно консоли не будет отображаться).