2015-11-24 2 views
1
runas.exe /profile /user:administrator "C:\temp\SQLSP3.bat" 

запустит файл SQLSP3.bat в административном Быстрой и просит Adminstrator пароль в Windows Server 2008.Run Bat файл в режиме администратора

SQLSP3.bat файл имеет следующий код

C:\Temp\SQLSP3.exe /qs /IAcceptSQLServerLicenseTerms /Action=Patch /AllInstances 

Есть ли какой-либо вариант, который я могу закодировать Пароль администратора в любом файле скрипта?

Я не хочу, чтобы UAC запрашивал у меня пароль. Все должно случиться тихо. Пожалуйста, помогите мне.

+0

Это никогда не является хорошей идеей упомянуть пароль (в буквальном смысле) в пакетном файле ... – aschipfl

ответ

1

Вы хотите ввести код внутри пакетного файла? Если да, то используйте команду трубы, написать это до кода, который просит Вас ввести пароль

echo writepasshere| codehere 

После этого использования эта партия будет делать это тихо. Если вы принадлежите локальным администраторам на определенном компьютере, вы можете создать запланированную задачу, которая открывает командную строку с наивысшими привилегиями.

Чтобы создать такую ​​запланированную задачу, вы можете использовать командный файл (который вы, конечно же, должны щелкнуть правой кнопкой мыши и запустить как администратор).

@echo off &setlocal 
cd /d "%~dp0" 

for /f "tokens=2 delims=:" %%i in ('chcp') do set /a oemcp=%%~ni 
>nul chcp 1252 

set "taskname=Elevated CMD Prompt" 
set "exec=C:\Windows\System32\cmd.exe" 
set "args=/k cd /d "%userprofile%"" 
set "xmlfile=task.xml" 

set "line_01=<?xml version="1.0" encoding="UTF-16"?>" 
set "line_02=<Task version="1.2"     `    x x 
set "line_03= <Triggers />" 
set "line_04= <Principals>" 
set "line_05= <Principal id="Author">" 
set "line_06=  <UserId>%userdomain%\%username%</UserId>" 
set "line_07=  <LogonType>InteractiveToken</LogonType>" 
set "line_08=  <RunLevel>HighestAvailable</RunLevel>" 
set "line_09= </Principal>" 
set "line_10= </Principals>" 
set "line_11= <Settings>" 
set "line_12= <Enabled>true</Enabled>" 
set "line_13= <Hidden>true</Hidden>" 
set "line_14= <Priority>5</Priority>" 
set "line_15= </Settings>" 
set "line_16= <Actions Context="Author">" 
set "line_17= <Exec>" 
set "line_18=  <Command>%exec%</Command>" 
set "line_19=  <Arguments>%args%</Arguments>" 
set "line_20= </Exec>" 
set "line_21= </Actions>" 
set "line_22=</Task>" 

<nul >"%xmlfile%" set /p "=ÿþ" 
>>"%xmlfile%" cmd /u /q /c "for /f "tokens=1* delims==" %%i in ('set line_')     

>nul chcp %oemcp% 

schtasks /create /xml "%xmlfile%" /tn "%taskname%" /f 
del "%xmlfile%" 

pause 

Если пакетник запустить успешно создать ярлык с целью

C:\Windows\System32\schtasks.exe /run /tn "Elevated CMD Prompt" /i 

Теперь редактировать эту строку, где ваш .bat является, например

set "args=/c "%temp%\elevated.bat"" 

и написать свой код в том, что файл

После этого запустите дробовик и лото! Plz проголосовать за это, если это вам помогло.

С уважением,

Charchit

Сценарий был взят из http://www.dostips.com/forum/viewtopic.php?t=544

0

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

Смежные вопросы