Простая проверка в Java, чтобы узнать, работает ли от имени администратора - PullRequest
1 голос
/ 02 декабря 2009

Существует ли простая, быстрая, неинвазивная задача администратора Windows, которую можно выполнить из процесса Java, чтобы проверить, работает ли текущий процесс как администратор?

Я знаю, что мы можем запустить пакетные команды, чтобы проверить, является ли текущий пользователь членом группы администраторов. Но есть трудности переносимости через Vista и т. Д.

Простой пример:

echo. 2> %SYSTEMROOT%\EmptyFile.txt

Однако, это агрессивно. Мы не хотим создавать файлы

Любой другой вариант?

1 Ответ

2 голосов
/ 02 декабря 2009

В общем, вы можете найти лучший выбор для проверки конкретного разрешения, а не подразумевать разрешения из назначений ролей. Одна из причин этого заключается в том, что в доменной среде у вас могут быть локальные администраторы и администраторы домена. Они не обязательно эквивалентны. Кроме того, даже права администратора могут быть изменены, или могут быть «подправлены» определенные права доступа к файлам / каталогам, например, для запрета доступа к «localmachine \ administrator».

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

Я знаю, что это не отвечает на ваш вопрос, но может помочь пролить свет на проблему получения разрешений от ролей.

...