Если вы используете подключенные сетевые диски (папки) на рабочих станциях, вероятно вы заметили, что они не доступны в программах (в том числе из командной строки и PowerShell), запущенных с правами администратора. Это вызвано тем, что стандартные настройки User Account Control (UAC) ограничивают доступ к подключенным сетевым дискам из приложений, запущенных в привилегированном режиме (через Run As Administrator). Это означает, что при запуске командной строки или файлового менеджера (того же, Total Commander) с правами администратора, в них будут не отображаться буквы дисков сетевых папок, смонтированных в стандартном контексте пользователя.
Это поведение Windows по-умолчанию, которое наблюдается, если выполняются следующие условия
- В сессию пользователя подключены сетевые диски (через GPO, вручную через
net useили командлетNew-SmbMapping) - На компьютере включен UAC (параметр GPO User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode имеет значение по-умолчанию
Prompt for credentialsзначение по-умолчанию “Prompt for credentials”)
- У текущего пользователя есть права локального администратора на компьютере, и он запускает приложение в режиме Run as administrator
В этом случае сетевые диски будут отображаются в проводнике Windows и в программах, но недоступны в любых приложениях, которые пользователь запустил с правами администратора.
В этой заметке мы покажем, как в Windows разрешить доступ к сетевым дискам из программ, запущенных от имени администратора.
Не отображаются сетевые диски в приложениях с правами администратора
Убедимся, что при включенном UAC в программах, запущенных с правами администратора, недоступны сетевые диски, подключенные пользователю в обычном режиме.
Например, откроем командную строку с правами пользователя и проверим что мы можем получить доступ к содержимому подключенного сетевого диска
Z:\
.
Net use
Dir z:
Команда вывела содержимое сетевой папки.

Если в контексте этого же пользователя открыть окно командной строки с правами администратора, то при попытке получить доступ к этому же диску, появится сообщение, что указанный путь не найден:
The system cannot find the path specified. Системе не удается найти указанный путь.

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

Такое поведение системы может вызывать ряд неудобств при частом запуске приложений в привилегированном режиме. Можно запускать приложения без прав администратора, но это не всегда применимо.
Почему это происходит? Данная особенность связана с механизмом работы UAC для пользователя с правами локального администратора. При входе такого пользователя в Windows создаются два маркера доступа: один маркер доступа с отключенными правами администратора (маркер фильтрованного доступа – из-под которого запускаются большинство программ) и маркер администратора, обладающего полными правами в системе (в этом контексте выполняются все программы, получившие подтверждение на повышение прав в UAC).
При включенном UAC приложения под одним пользователем могут запускаться в двух контекстах (привилегированном и непривилегированном). При подключении общих сетевых папок, система создает символические ссылки (
DosDevices
), в которых хранится сопоставление буквы диска и UNC пути. Эти ссылки ассоциируются с текущим сеансом для текущего маркера доступа процесса и недоступны из-под другого маркера.
Разрешить доступ к сетевым дискам из программ, запущенных с правами админа
Чтобы сделать сетевые диски, подключенные у пользователя, доступными в приложениях с правами администратора, надо создать на компьютере параметр реестра
EnableLinkedConnections
:
- Откройте редактор реестра (regedit.exe)
- Перейдите в раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- Создайте новый параметр (типа DWORD) с именем EnableLinkedConnections и значением 1
Совет. Можно создать параметр реестра командой:
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name EnableLinkedConnections -Value 1 -PropertyType 'DWord' - Перезагрузите компьютер (или перезапустите службу LanmanWorkstation командой PowerShell:
Get-Service LanmanWorkstation |Restart-Service –Force, и перезайдите в систему).
Проверьте, что теперь сетевые диски пользователя отображаются в приложениях, запущенных с правами администратора (такие процессы в Task Manager отображаются со свойством Elevated=Yes).

В обратную сторону это тоже работает: все сетевые диски, подключенные в контексте привилегированной сессии, будут доступны и в обычной сессии.

Как это работает.После включения параметра реестра EnableLinkedConnections, служба LanmanWorkstation и LSA будут проверять наличие второго маркера доступа, связанного с сессией текущего пользователя. Если такой маркер доступа обнаружен, список подключенных сетевых дисков копируется из одного маркера в другой. Таким образом сетевые диски, подключенные в привилегированном режиме, будут видны в обычном и наоборот.
mklink /D c:\docs \\msk-fs1\docs
Доступ к данному каталогу будет возможен и в обычном, и в привилегированном режиме. Из недостатков метода, отметим, что доступ на общую папку выполняется с полномочиями текущего пользователя. Нельзя, как в случае с net use, использовать учетную запись другого пользователя.
После включения параметра EnableLinkedConnections сетевые диски также станут доступны из заданий планировщика, запущенных из-под текущего пользователя. Если задание запускается от имени LocalSystem или другого пользователя, сетевые диски текущего пользователя, естественно, будут недоступны. Ведь сетевые диски подключаются для каждого пользователя персонально (per-user).


Спасибо, как раз на днях была проблема с обновлением дрвеба по сети, теперь знаю в чем дело
Данный метод не работает на windows 10, и 2012 r2 после обновления, есть ли новые решения ?
Спасибо большое очень сильно помогли с советом))
reg add HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLinkedConnections /t REG_DWORD /d 0x00000001 /fВ таком виде надо писать команду, без кавычек, а не как в тексте статьи…
Это проблема WordPress, он кавычки любит коверкать, заенять на елочки.
Спс — поправил код.
Так кавычки тоже не нужны, с кавычками в реестре и появляется ветка, не думаю, что она будет работать в таком виде…
Все ок работает в таком виде.
Не забывайте, в реестре куча веток имеют пробелы в имени. Поэтому брать путь в кавычки это правильно.
Нормально ключи с пробелами в реестре прописываются без кавычек в самой команде, а если кавычки в команде прописать, то и сам ключ в реестре будет в кавычках! Никогда не видел ключи в реестре с кавычками, поэтому не могу сказать, будет ли он работать в таком виде…
Добрый день.
Наблюдаю похожую картину с запуском REGEDIT из CMD.
Скрипт импортирует файл.reg для ветки HKCU.
И у обычного пользователя UAC молчит и скрипт выполняется.
А у админа локального или доменного, UAC : «разрешить этому приложению вносить *** устройстве ?»
Отключаем UAC и тогда у админов всё тихо а у пользователей «разрешить вносить *** устройстве ?»
В принципе не критично но есть админы локальные которые всё таки не знают что им делать.
Пробовал добавить:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
«C:\\Windows\\System32\\regedit.exe»=»RunAsInvoker» Не помогло.
Как победить?
Может вы какой-то ключик специфический правите. Сравните разрешения на ключ реестра у админа и у юзера
Ключи все из HKCU одинаковые для пользователя и админа файл
Запрос именно на выполнение regedit даже если выбрать «выполнить» и ввести regedit будет запрос на выполнение. У пользователей запроса нет.
>>> Сейчас заметил в логах локального админа на win 10. возможно не связанно.
Аудит отказа 4673 Вызвана привилегированная служба.
имя пользователя (лок админ)
C:\Windows\System32\taskhostw.exe Шедулер
C:\Windows\System32\spoolsv.exe ПЕЧАТЬ
C:\Windows\System32\ie4uinit.exe ИНТЕРНЕТ
C:\Windows\System32\sihost.exe
C:\Windows\explorer.exe ПРОВОДНИК
C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\14.2.1031.0100.105\Bin\ccSvcHst.exe
C:\Windows\System32\SystemSettingsBroker.exe
Не мог в фотошопе открыть файлы с фтп-сервака. Вариант с правкой реестра помог. Винда 10.
другой вариант..
Расшариваем папку (в этом примере сетевое имя DK)
и пишем
net use t: \\127.0.0.1\dk ./PERSISTENT:YES
и все ок.. по крайней мере у меня
Всё сделал по инструкции. Ничего не помогло. Вин11. Добавил параметр в реестр, перезагрузил. Не сработало, не могу зайти из ТоталКоммандера на сетевой диск. Может еще какой-то способ есть?
Для Windows 11
Шаг 1: Введите включение или отключение компонентов Windows в поле поиска и нажмите «Открыть» .
Шаг 2: Найдите и отметьте опцию SMB 1.0/CIFS File Sharing Support . Нажмите OK .