PsExec
psexec -i -s cmd.exe
Если запускать PsExec в сеансе CMD без прав администратора, то вы получите следующую ошибку:
Couldn’t install PSEXESVC service
Так как PsExec для успешной работы должен временно добавить на компьютер свою службу PSEXESVC, то ему требуются права администратора, а без них мы только увидим сообщение об отказе.
PsExec, так же как и RunAs, имеет возможность запускать команды от имени другой учетной записи:
PSexec \\%Computername% -u Domain\%Username% -h -i cmd
RunAs
Позволяет запускать команды от имени других пользователей:
runas /user:%username%
Однако, в системах начиная от win7 утилита RunAs перестала работать должным образом из-за введения UAC
Отключить UAC
Команду требуется выполнять от имени администратора в PoSh:
Set-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLUA -Value 0
Изменения вступят в силу после перезагрузки
Обе утилиты собраны в одной заметке, что бы дать общий по ним ответ: Нет
Если у вашей учетной записи изначально нет прав администратора, то эти утилиты не повысят вам уровень привилегий до администратора.
Проверить наличие прав администратора
Проверить наличие админских привилегий можно выполнив команду:
whoami /priv
Ориентируясь на набор привилегий можно понять какие права доступны пользователю.
Например наличие SeRemoteShutdownPrivilege указывает на привилегии администраторских.
Можно адаптировать команду в сценарий:
@echo OFF WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege" if %ERRORLEVEL% == 0 goto admin echo NOT have admin rights! pause exit :admin ECHO !!! ADMIN !!! pause