19

В Windows 8 почему подключенный диск недоступен в командной строке с повышенными привилегиями, а в обычной командной строке? Я могу запустить сетевое использование и сделать его доступным, но я все еще нахожу это странным.

3 ответа3

22

При использовании UAC с правами администратора, при входе в систему Windows создает два токена. Один токен (повышенный) не отфильтрован, и на нем включена группа администраторов. На другом токене отфильтрована группа «Администраторы» (и некоторые другие детали, например группа «Опытные пользователи»).

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

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

Вы можете сопоставить тот же сетевой ресурс (используя даже ту же букву диска) в командной строке с повышенными правами, используя команду NET USE. После этого любой повышенный процесс также сможет это увидеть.

19

Ответ Уильяма объясняет, почему это происходит, и дает один обходной путь. Но я хочу добавить, что на самом деле есть исправление реестра от Vista, которое работает в Windows 7 для настройки этого поведения. Просто добавьте это в свой реестр:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

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

3

Потому что вы поднимаете командную строку как другой пользователь, и соответствующий сопоставленный диск был сопоставлен неадминистративным пользователем. Разные пользователи имеют разные пользовательские настройки, такие как принтеры, подключенные сетевые диски и так далее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .