Поделиться через


Копирование файлов из сопоставленного диска в локальный каталог завершается ошибкой (расположение недоступно), если UAC включен

В этой статье устранена ошибка "Расположение" при попытке копирования файлов с сопоставленного диска.

Исходный номер базы знаний: 2019185

Симптомы

Если включен контроль учетных записей пользователей (UAC), при попытке скопировать файл с сопоставленного диска в локальный каталог может появиться следующая ошибка:

Расположение недоступно
<Сопоставленная буква> диска\ относится к расположению, недоступному. Он может находиться на жестком диске на этом компьютере или в сети. Убедитесь, что диск правильно вставлен или подключен к Интернету или сети, а затем повторите попытку. Если оно по-прежнему не удается найти, возможно, данные были перемещены в другое расположение.

Причина

Основной причиной является UAC и взаимодействие с разделенным токеном. Когда администратор входит на компьютер с включенным режимом утверждения администратора (AAM), пользователь получает два маркера доступа:

  • полный маркер доступа администратора
  • отфильтрованный маркер доступа пользователей уровня "Стандартный"

По умолчанию, когда член локальной группы администраторов входит в систему, права администратора Windows отключены и права пользователя с повышенными привилегиями удаляются. Он приводит к стандартному маркеру доступа пользователей. Затем маркер доступа к стандартному пользователю используется для запуска рабочего стола (Explorer.exe). Explorer.exe является родительским процессом, от которого все другие запускаемые пользователем процессы наследуют свой маркер доступа. В результате все приложения выполняются как стандартный пользователь по умолчанию, если пользователь не предоставляет согласие или учетные данные для утверждения приложения для использования полного маркера административного доступа. В отличие от этого процесса при входе стандартного пользователя создается только стандартный маркер доступа пользователей. Затем этот стандартный маркер доступа пользователей используется для запуска рабочего стола.

Для возникновения ошибки должны быть созданы следующие условия:

  1. UAC включен с помощью AAM.
  2. Пользователь не входит в систему в качестве администратора локального компьютера или учетных данных учетной записи администратора домена.
  3. Диск сопоставляется с использованием стандартного контекста безопасности пользователей.
  4. У пользователей нет разрешений на создание и запись NTFS в целевом каталоге.

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

C:\Users\johnsmith>net use
New connections will be remembered.
Status      Local     Remote                    Network
-------------------------------------------------------------------------------
OK          X: [\\contoso-dc1\d$](file://contoso-dc1/d$)               Microsoft Windows Network
The command completed successfully.

При выполнении той же команды в командной строке с повышенными привилегиями нет сопоставленного диска.

C:\Windows\system32>net use
New connections will be remembered.
There are no entries in the list.

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

Примечание.

По умолчанию AAM включен для учетных записей, входящих в локальную группу администраторов. Этот параметр можно найти в узле "Параметры безопасности" локальной политики в разделе "Параметры безопасности" и можно настроить с помощью редактора локальной групповой политики (secpol.msc) и консоли управления групповыми политиками (GPMC) (gpedit.msc). Дополнительные сведения об UAC см. в разделе "Контроль учетных записей пользователей".

Решение

  1. Сопоставляйте диск с помощью процесса с повышенными привилегиями. Но обозреватель Windows не увидит сопоставление дисков с повышенными привилегиями. Дополнительные сведения см. в разделе "Дополнительные сведения ".

    Управление учетными записями пользователей Windows 7

  2. Используйте UNC-путь для подключения к сетевым ресурсам, например \\server\share.

  3. Используйте параметры групповой политики для сопоставления дисков. В техническом документе, приведенном ниже, представлены параметры групповой политики, которые являются новой функцией в Windows Server 2008. В техническом документе описывается, как использовать параметры групповой политики для более эффективного развертывания операционной системы и параметров приложений и управления ими. Параметры групповой политики позволяют настраивать, развертывать и управлять параметрами операционной системы и приложений, которые вы ранее не могли управлять с помощью групповой политики. Примеры включают сопоставленные диски, запланированные задачи и параметры меню . Для многих типов параметров операционной системы и приложений использование параметров групповой политики является лучшей альтернативой настройке их в образах Windows или с помощью скриптов входа.

    Общие сведения о параметрах групповой политики

  4. Сопоставляйте диски со скриптом входа, использующим скрипт launchapp.wsf для планирования команд с помощью планировщика задач. Приведенный ниже документ поможет сортировать новые и обновленные функции, доступные в Windows Vista. Он также предоставляет множество рекомендаций по развертыванию групповой политики.

    Развертывание групповой политики с помощью Windows Vista

  5. В следующей статье описывается неподдерживаемый метод, который отменяет изменение безопасности, описанное ранее, путем EnableLinkedConnections настройки значения реестра. Это значение позволяет Windows Vista совместно использовать сетевые подключения между отфильтрованным маркером доступа и полным маркером доступа администратора для члена группы администраторов. После настройки этого значения реестра LSA проверяет, связан ли другой маркер доступа с текущим сеансом пользователя, если сетевой ресурс сопоставлен с маркером доступа. Если LSA определяет, что есть связанный маркер доступа, он добавляет сетевую папку в связанное расположение.

    Программы могут не иметь доступа к некоторым сетевым расположениям после включения управления учетными записями пользователей в Windows Vista или более новых операционных системах

Дополнительная информация

При входе пользователя с правами администратора Windows обрабатывает скрипты входа с помощью маркера с повышенными привилегиями. Сценарий фактически работает и сопоставляет диск. Однако Windows блокирует представление сопоставленных сетевых дисков, так как на рабочем столе используется отфильтрованный маркер, а диски сопоставлены с помощью маркера с повышенными привилегиями (полный администратор).

До Windows 2000 с пакетом обновления 2 (SP2) имена устройств (например, сопоставленные диски) остаются глобально видимыми до явного удаления или перезагрузки системы. По соображениям безопасности мы изменили это поведение, начиная с Windows 2000 с пакетом обновления 2 (SP2). На этом этапе все устройства связаны с идентификатором проверки подлинности (LUID). LUID — это идентификатор, созданный для каждого сеанса входа. Процесс, выполняемый в контексте LocalSystem, может создать имя устройства в пространстве имен глобального устройства, хотя объекты локального пространства имен могут скрыть глобальные объекты пространства имен.

Эти сопоставленные диски связаны с LUID. И приложения с повышенными привилегиями используют другой LUID, созданный во время отдельного события входа. Таким образом, приложение с повышенными привилегиями больше не увидит сопоставленные диски для этого пользователя. Вы заметите такое же поведение ранее с помощью RunAs или CreateProcessAsUser API, но UAC значительно увеличивает число пользователей, которые будут использовать эти понятия.

Результатом является то, что при повышении командной строки вы больше не увидите локальные диски, сопоставленные с исходным именем входа (независимо от того, создано ли с помощью скрипта входа, с помощью WNetAddConnection API или в противном случае). Существует устранение рисков для сценария запуска из проводника Windows. Если дважды щелкнуть исполняемый файл, обнаруженный как файл установки или манифестируется как требуетсяAdministrator, Windows может обнаружить, что он был повышен, и что ошибка, указывающая, что путь не найден, и скопируйте сопоставление дисков из исходного LUID. Однако это единственный сценарий, который автоматизирован.