Пользовательский интерфейс Vista - Проблемы с сопоставлением сетевых дисков
-
13-09-2019 - |
Вопрос
У нас есть приложение, которое программно сопоставляет сетевые диски.В Vista с включенным UAC мы получаем некоторые странные проблемы.
Наше приложение отображает диск без повышенных прав доступа, поэтому, если пользователь просматривает Explorer и дважды щелкает для запуска exe-файла, он запрашивает UAC.Поэтому, когда они одобряют это, он запрашивает имя пользователя / пароль для общего ресурса...Странно, поскольку учетные данные сохранены.
Оказывается, процесс с повышенными правами не может получить доступ к подключенному диску, который был подключен из процесса без повышенных прав.
Чтобы увидеть эту проблему в действии, выполните следующие действия:
- Запускайте cmd.exe без UAC
- Запустите "сетевое использование w:\yourHostname\yourShare /пользователь:yourUser Ваш пароль /постоянный: да "
- Запускайте cmd.exe от имени администратора
- Введите "w:" и увидите сообщение об ошибке
На этом этапе вы можете запустить обычный "net use" и увидеть, что подключение к cmd с повышенными правами недоступно, но другой cmd без повышенных прав считает его нормальным.
Кто-нибудь знает обходной путь для устранения этой проблемы?или, может быть, способ сопоставить сетевой диск "Всем пользователям"?
Решение 2
Ознакомьтесь с этой ссылкой: Ссылка для Регедитации
Они описывают раздел реестра, который позволяет пользователям с повышенными правами доступа получать доступ к подключенным дискам и наоборот.Это решает все мои проблемы и было именно тем, что я искал.
Редактировать:
Исходная ссылка мертва, но вот текст, скопированный со снимка от 24 января 2009 года по адресу www.archive.org:
Если вы обнаружите, что у вас нет доступа к подключенным дискам с вашего токена администратора, попробуйте следующее.При запуске от имени защищенного администратора у вас есть два токена, и этот ключ будет поддерживать соединение для обоих нажатий (во всяком случае, я так понимаю).Это также может помочь устранить проблемы со сценариями входа в систему.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System Включить linkedconnections =(dword)1
Также полезен раздел "Сценарии групповой политики могут завершаться сбоем из-за контроля учетных записей пользователей" этого документа.
Скоро я опубликую более подробную информацию по этому поводу.
Другие советы
Это сделано специально.
Несмотря на то, что учетная запись пользователя одна и та же, а версия с повышенными правами доступа имеет токен с членством в группе администраторов и дополнительными привилегиями, токены создаются независимо и, следовательно, имеют разные LUID и, как представляется ядру, принадлежат разным пользователям при входе в систему.Поскольку они используются при разных входах в систему, подключенные диски не являются общими для них.
http://blogs.msdn.com/cjacks/archive/2007/02/19/mapped-network-drives-with-uac-on-windows-vista.aspx обсуждается это более подробно.