Запуск от имени администратора не повышает уровень процесса
Я пытаюсь бежать netsh wlan set hosted network mode=allow
как администратор, но когда я запускаю его из привилегированного cmd или powershell, netsh по-прежнему отвечает:
You must run this command from a command prompt with administrator privilege.
Я уверен, что мой cmd повышен (ctrl+shift+enter или щелчок правой кнопкой мыши запускается от имени администратора), как говорится в строке заголовка, которая начинается с "Administrator: C:\Windows\system32\cmd.exe" . Кроме того, я могу успешно запускать такие вещи, как
echo "test-write-to-disk-in-admin-only-area" > c:\Windows\system32\test.txt
Я даже попытался запустить cmd и запустить в нем netsh:
powershell -Command "Start-Process cmd -Verb RunAs"
но netsh по-прежнему считает, что он не запускается от имени администратора.
Как бы то ни было, компьютер работает под управлением Windows 7 в корпоративной AD, но мой пользователь является администратором компьютера, на котором я работаю.
Любые идеи о том, как я мог убедить netsh, что он запускается от имени администратора? Или какие-то мысли о том, почему netsh считает, что он не запущен от имени администратора?
2 ответа
Из командной строки и из командной строки с повышенными привилегиями выполните>
>whoami /groups
Из стандартной командной строки вы должны увидеть:
Group Name Type SID Attributes
====================== ===== ============ ========================
BUILTIN\Administrators Alias S-1-5-32-544 Group used for deny only
Но из командной строки с повышенными привилегиями вы должны увидеть:
Group Name Type SID Attributes
====================== ===== ============ ===============================================================
BUILTIN\Administrators Alias S-1-5-32-544 Mandatory group, Enabled by default, Enabled group, Group owner
Проверь свою привилегию
После проверки того, что вы являетесь участником группы администраторов (и вам не отказано в этом), проверьте свои привилегии в командной строке с повышенными привилегиями:
>whoami /priv
Убедитесь, что у вас есть все привилегии, которые должен иметь администратор:
Privilege Name Description State
=============================== ========================================= ========
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Disabled
SeSecurityPrivilege Manage auditing and security log Disabled
SeTakeOwnershipPrivilege Take ownership of files or other objects Disabled
SeLoadDriverPrivilege Load and unload device drivers Disabled
SeSystemProfilePrivilege Profile system performance Disabled
SeSystemtimePrivilege Change the system time Disabled
SeProfileSingleProcessPrivilege Profile single process Disabled
SeIncreaseBasePriorityPrivilege Increase scheduling priority Disabled
SeCreatePagefilePrivilege Create a pagefile Disabled
SeBackupPrivilege Back up files and directories Disabled
SeRestorePrivilege Restore files and directories Disabled
SeShutdownPrivilege Shut down the system Disabled
SeDebugPrivilege Debug programs Disabled
SeSystemEnvironmentPrivilege Modify firmware environment values Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeRemoteShutdownPrivilege Force shutdown from a remote system Disabled
SeUndockPrivilege Remove computer from docking station Disabled
SeManageVolumePrivilege Perform volume maintenance tasks Disabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
SeCreateSymbolicLinkPrivilege Create symbolic links Disabled
Примечание. Даже если привилегия может сказать " Отключено", это означает, что она у вас все еще есть - она просто отключена. Сравните это со стандартным пользователем из командной строки без повышенных прав:
Privilege Name Description State
============================= ==================================== ========
SeShutdownPrivilege Shut down the system Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeUndockPrivilege Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
Обычные пользователи просто не имеют прав администратора.
Когда вы запустите командную строку с повышенными правами и увидите, что у вас есть удостоверение, запустите все привилегии администратора. netsh
:
Если мы сделаем это вручную, вместо использования команды для выполнения этой операции, может ли она быть успешно выполнена?
Если нет, я думаю, потому что это компьютер, присоединенный к домену, эта команда создает общую беспроводную сеть для этого компьютера, присоединенного к домену, поэтому эта операция должна быть ограничена политикой домена, даже если мы выполняли эту команду как администратор, но не удалось успешно выполнить эту команду.