Отказаться от прав администратора в пакетном cmd - PullRequest
0 голосов
/ 01 ноября 2019

Я запускаю пакет xcopy для копирования чего-либо с сервера в C: \ Program Files. Это требует прав администратора. Затем я хочу запустить команду или вызвать командный файл, но запуск с правами администратора не работает. Если я запускаю команду как обычный пользователь, она работает.

Я попытался написать для партии временную партию, а затем либо start, либо call эту партию. Но ни одна из них не работает. Между прочим, если пакет запускается от имени администратора для копирования файла и повторного запуска его как обычного пользователя, копирование завершается неудачно (но оно уже скопировано из первого экземпляра), и файл temp.bat успешно записывается, запускается и удаляется.

Я пытался runas, но это поднимает другие проблемы. Попытка запустить программу runas /noprofile /user:user1@server C:\Program Files\prog\prog.exe будет работать, но это не то, что я хочу сделать, так как это включает в себя больше кликов, следовательно пакет с параметрами.

Попытка запустить пакет из Program Files возвращает Attempting to start C:\Program Files\prog\prog.bat as user "user1@server" ..., но это никуда не идет. Или попытка запустить код из этого пакета напрямую с помощью start "" C:\Program Files\prog\prog.exe /param1 /param2 имеет синтаксическую ошибку.

runas может не быть ответом вообще.

Редактировать: Вот два примера

xcopy /y /f "\\server\BG\settings.bgi" "C:\Program Files\BG"
runas /noprofile /user:"standard user"@domain "C:\Program Files\BG\BGStart.bat"
pause

Это говорит Attempting to start C:\Program Files\BG\BGStart.bat as user... и продолжается до паузы без успешного запуска летучей мыши

xcopy /y /f "\\server\BG\settings.bgi" "C:\Program Files\BG"
(
echo start "" /wait "C:\Program Files\BG\bginfo.exe" "C:\Program Files\BG\settings.bgi" /silent /NOLICPROMPT /timer:00
echo exit
)>temp.bat
start temp.bat
@timeout /t 3
del temp.bat
pause

Когда запускается какАдминистратор копирует файл, но не запускает temp.bat правильно. При запуске от имени обычного пользователя он не копирует файл, а правильно запускает .bat.

...