Як запустити додаток як "запустити як адміністратор" з командного рядка? [зачинено]


126

У мене називається пакетний файл test.bat. Я закликаю нижче наведені інструкції у test.batфайлі:

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1

Коли я запускаю це через командний рядок, мій тестовий сценарій успішно працює. Я хочу запустити його як адміністратор (як би я створив ярлик робочого столу та запускаюсь як адміністратор. Він не повинен запитувати про будь-яке ім’я користувача або пароль).

Я спробував додати /elevateі/NOUAC параметри у вище test.bat, але не пощастило. Як виправити цю проблему?

Я знаю, як це зробити вручну, але хочу, щоб це було виконано з командного рядка.

(За Marnix Klooster ): ... без використання будь-яких додаткових інструментів, таких, як запропоновано у відповіді на питання Super User Як запустити програму з командного рядка з підвищеними правами .)



84
Це питання добре задати тут, і воно не повинно закриватися як поза темою. Це питання щодо програмування та розробки програмного забезпечення. Програма DotNet і C ++ мають можливість ітерації з системними та іншими програмами за допомогою команди викликати консоль або просто через пакетний файл.
Стівен Дю

2
Це було корисно для мене: superuser.com/questions/55809/… Іноді очікується, що "запустити як адміністратор" означає "запустити з підвищеними правами".
Користувач

sudo.batможе бути корисним комусь. pastebin.com/taHp4FzR
Niklas R

1
Потрібно перейти до суперпользователя замість закритого (а також позначити як копію superuser.com/questions/55809/… )
Жульєн Кронегг,

Відповіді:


85

Спробуйте це:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

Він зберігає пароль перший раз і більше ніколи не запитує. Можливо, коли ви зміните пароль адміністратора, вам буде запропоновано знову.


8
@BenVoigt, будь ласка, запропонуйте альтернативу
Даніель Соколовський,

10
Спробуйте powershell -Command "Start-Process 'C:\program.exe' -Verb runAs"(замініть C:\program.exeна свою команду), див. Superuser.com/questions/55809/…
Жульєн Кронегг

8
Чому мені потрібно ввести пароль, коли я можу клацнути правою кнопкою миші будь-яку іншу програму і запуститись як адміністратор без введення пароля? Спасибі
RayLoveless

4
@BenVoigt Не надувай прокладку. Як і будь-яка команда живлення, вона є корисною і необхідною у конкретних контекстах.
b1nary.atr0phy

2
будь-який метод, за допомогою якого я можу просто чіпати пароль адміністратора в самій команді Initian. Він запитує пароль адміністратора, коли я запускаю початкову команду. Чи можна вводити це в першу чергу? runas.exe /user:yash a.exe MyAwesomePassword
Яш Кумар Верма

22

Дивіться цю статтю TechNet : Документація команд Runas

З командного рядка:

C:\> runas /user:<localmachinename>\administrator cmd

Або якщо ви підключені до домену:

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd

Я перечитав ваше запитання, і ви не хочете, щоб вас запросили. Моя пропозиція спричинить запит на введення пароля. Вибачте!
Джон Руїс

12
Я спробував цю команду, вона запитує облікові дані, вона не повинна просити облікові дані. як я вже згадував у своєму запиті. якщо я клацніть правою кнопкою миші елемент робочого столу, то запустіть його як адміністратор - очікувана поведінка.
Praveen Jakkaraju

6

Схоже, psexec -hце зробити так:

 -h         If the target system is Windows Vista or higher, has the process
            run with the account's elevated token, if available.

Який…, схоже, не вказаний в онлайн-документації в Sysinternals - PsExec .

Але це працює на моїй машині.


Тут не працює. Натомість я просто отримую допомогу.
ygoe

7
Це, здається, не працює для мене, якщо я не запускаю його з процесу, який вже має права адміністратора: "Не вдалося встановити послугу PSEXESVC"
Vince,

1
У мене навіть немає цієї команди в Windows 10. - Ні з командного рядка, ні з Power Shell.
BrainSlugs83

@ BrainSlugs83, ви повинні завантажити його, посилання є у відповіді.
Авель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.