Этот вопрос был отредактирован на основе необходимых разъяснений, полученных с помощью комментариев ниже.
У меня есть простой файл bat, взятый из https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights. Он проверяет, был ли скрипт bat запущен как пользователь, просто дважды щелкнув по нему, или он был запущен как «Запуск от имени администратора». Я проверил его, и он отлично работает на моем 64-битном ноутбуке с Windows 8.1 Home с правами администратора. Когда я дважды щелкаю, это указывает на то, что он не был запущен из командной строки с повышенными правами, и говорит иначе, когда «Запуск от имени администратора».
Из комментариев ниже понятно, что самый низкий уровень привилегий для Администратора - это Пользователь, и выбор «Запуск от имени Администратора» повышает его до Администратора.
Однако на моем 32-битном Windows 7 Ultimate он ведет себя не так! Когда я просто дважды щелкаю по нему, он все еще работает от имени администратора. Это проблема безопасности, и есть ли способ установить ее на уровень пользователя по умолчанию?
В моей панели управления UAC выключен. Также обратите внимание, что я не создаю / не запускаю какой-либо ярлык, установите его всегда «Запуск от имени администратора»
На моем Windows 7 я хотел бы, чтобы он запускался как пользователь, когда я дважды щелкаю, и только как администратор, когда вызывается «Запуск от имени администратора».
Обратите внимание, что сценарий выходит за рамки обсуждения, однако просто вставьте его ниже для справки.
@echo off
openfiles > NUL 2>&1
if NOT %ERRORLEVEL% EQU 0 goto NotAdmin
echo Hello from elevated command prompt
goto End
:NotAdmin
echo This command prompt is NOT ELEVATED
:End
pause
exit