Я только хочу, чтобы запрос 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 (окно консоли не будет отображаться).