Far не видит сетевые диски windows 10

linux

FAR и сетевые диски. Доступ к сетевым дискам из программ, запущенных с повышенными привилегиями

  • Получить ссылку
  • Facebook
  • Твиттер
  • Pinterest
  • Электронная почта
  • Другие приложения

Одним из существенных улучшений системы безопасности ОС семейства Windows (начиная с Vista) являлось внедрение функционала User Account Control (UAC). Контроль учетных записей запрашивает подтверждение пользователя каждый раз, когда запускаемая программа пытается внести изменения в параметры системы. Одним из побочных эффектов работы UAC является невозможность доступа к подключенным (через net use) сетевым дискам из приложений, запущенных в привилегированном режиме (Run As Administrator). Это означает, что при запуске командной строки или файлового менеджера (того же, Total Commander) с повышенными правами, в них будут отсутствовать (не доступны) буквы дисков смонтированных сетевых папок.

В этой заметке мы покажем, как в Windows 10, Windows 8.1 и Windows 7 предоставить доступ к сетевым дискам из приложений, работающих в привилегированном режиме (запущенных от имени администратора). Проблема проявляется как для сетевых папок, подключенных через групповые политики, так и для папок подключенных пользователей самостоятельно.

Важно. Настоятельно не рекомендуется совсем отключать UAC, даже для одного конкретного приложения.

Действительно, при включенном UAC из «привилегированного» приложения в Windows нельзя получить доступ к подключенному в обычном режиме сетевому диску. Продемонстрируем, как выглядит проблема. Например, убедимся, что в командной строке, запущенной с правами обычного пользователя системы, имеется доступ к содержимому подключенного сетевого диска Z:\.
Если в контексте этого же пользователя открыть окно командной строки с правами администратора, то при попытке получить доступ к этому же диску, появится сообщение, что указанный путь не найден:
The system cannot find the path specified.
Системе не удается найти указанный путь.

Такое поведение системы может вызывать ряд неудобств при частом запуске приложений в привилегированном режиме. Можно запускать приложения без прав администартора, но это не всегда применимо.
Почему это происходит? Данная особенность связана с механизмом работы UAC для пользователя с правами локального администратора. Дело в том, что при входе такого пользователя в систему создаются два маркера доступа: один маркер доступа с отключенными правами администратора (маркер фильтрованного доступа – из-под которого запускаются большинство программ) и маркер полноценного администратора, обладающего полными правами в системе (в этом контексте выполняются все программы, получившие подтверждение на повышение прав в UAC).
Если с помощью команды whoami /all сравнить текущие привилегии одного и того же пользователя в двух сессиях cmd.exe (обычной и привилегированной), можно увидеть, что они сильно отличаются. В следующей таблице перечислены отличия в группах и текущих полномочиях в каждой сессии.

Обычная сесия пользователя Привелигированная сесиия пользователя
Группа доступа Обязательная метка\Средний обязательный уровень (Medium Mandatory Level) Метка S-1-16-8192 Обязательная метка\Высокий обязательный уровень (High Mandatory Level) Метка S-1-16-12288
Привелегии SeLockMemoryPrivilege

SeMachineAccountPrivilege
SeShutdownPrivilege
SeChangeNotifyPrivilege
SeUndockPrivilege
SeIncreaseWorkingSetPrivilege
SeTimeZonePrivilege SeLockMemoryPrivilege

SeIncreaseQuotaPrivilege
SeMachineAccountPrivilege
SeSecurityPrivilege
SeTakeOwnershipPrivilege
SeLoadDriverPrivilege
SeSystemProfilePrivilege
SeSystemtimePrivilege
SeProfileSingleProcessPrivilege
SeIncreaseBasePriorityPrivilege
SeCreatePagefilePrivilege
SeBackupPrivilege
SeRestorePrivilege
SeShutdownPrivilege
SeSystemEnvironmentPrivilege
SeChangeNotifyPrivilege
SeRemoteShutdownPrivilege
SeUndockPrivilege
SeManageVolumePrivilege
SeImpersonatePrivilege
SeCreateGlobalPrivilege
SeIncreaseWorkingSetPrivilege
SeTimeZonePrivilege
SeCreateSymbolicLinkPrivilege
SeDelegateSessionUserImpersonatePrivilege


При включенном UAC приложения под одним и тем же пользователем могут запускаться в двух контекстах (привилегированном и непривилегированном). При подключении общих сетевых папок, система создает символические ссылки (DosDevices), в которые хранится сопоставление буквы диска и UNC пути. Эти ссылки ассоциируются с текущим сеансом для текущего маркера доступа процесса и из-под другого маркера недоступны.
Соответственно, может иметь место и обратная проблема: если пользователь обладает правами администратора на своем компьютере, то при подключении сетевых дисков через логон-скрипты групповых политик, задания планировщика или SCCM (которые запускаются с повышенными привилегиями), эти диски не видны пользователю в проводнике Windows (непривилегированный процесс).
Примечание. В Windows Server можно запустить Проводник Windows с повышенными привилегиями.
В качестве обходного решения можно порекомендовать подключать (через net use или rundll32 SHELL32.dll,SHHelpShortcuts_RunDLL Connect) сетевые диски в контексте командной строке, запущенной с правами администратора. Но это решение не всегда применимо, и не очень удобно.
Есть более простое решение, для его реализации нужно внести следующие изменения в реестр:
Откройте редактор реестра (regedit.exe).
Перейдите в раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System .
Создайте новый параметр (типа DWORD) с именем EnableLinkedConnections и значением 1 .

Читайте также:  Обновление функций до windows 10 версия 20h2 ошибка 0x80073701

Совет. То же самое можно сделать одной командой:
reg add «HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System» /v «EnableLinkedConnections» /t REG_DWORD /d 0x00000001 /f
Перезагрузите компьютер (или перезапустите службу LanmanWorkstation).
После перезагрузки убедитесь, что пользователь видит сетевые дискам из программ, запущенных с правами администратора. Верно и обратное утверждение, все сетевые диски, подключенные в контексте привилегированной сессии, будут доступны и в обычной сессии.

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

Не отображаются общие папки, сетевые компьютеры, флешки, диски на вкладке «Сеть» проводника Windows

Привет! Для тех кто не в теме, начну из далека. На компьютерах и ноутбуках с установленной Windows в проводнике есть отдельная вкладка «Сеть». На этой вкладке отображаются устройства из сетевого окружения. То есть, открыв вкладку «Сеть» мы там можем наблюдать компьютеры, сетевые хранилища (NAS), устройства мультимедиа (DLNA), флешки и внешние диски, которые подключены к роутеру и к которым настроен общий доступ. Проще говоря, те устройства, которые подключены через один роутер (находятся в одной сети) и на которых включена функция сетевого обнаружения (устройства, которые могут быть обнаружены в локальной сети) . Там так же может отображаться наш маршрутизатор (раздел «Сетевая инфраструктура») и другие устройства.

Сейчас поясню что и как, и почему я вообще решил написать эту статью. У меня роутер ASUS, к которому я подключил USB флешку, и настроил общий доступ к этой флешке для всех устройств в сети. И что вы думаете, в разделе «Сеть» на всех компьютерах появился этот сетевой накопитель (он там отображается как «Компьютер») , а на моем компьютере он не отображался. То есть, мой компьютер не видел ни флешку подключенную к роутеру, ни другие компьютеры в этой сети. Зато отображался DLNA-сервер запущен на том же роутере. Но это ничего не меняет, так как мне нужен обычный сетевой доступ к накопителю.

Так же я не мог получить доступ к флешке, когда набирал ее адрес //192.168.1.1 в проводнике. Сразу этот адрес открывался через браузере. И мне не удалось подключить этот накопитель как сетевой диск. Его просто не было в списке доступных устройств в сетевом окружении.

Такая проблема, когда Windows 7, Windows 8, или Windows 10 не видит сетевые устройства – не редкость. Это не обязательно должна быть флешка, или внешний HDD, который вы подключили к своему маршрутизатору, как в моем случае. Чаще всего настраивают общий доступ между компьютерами в локальной сети. И точно так же сталкиваются с проблемой, когда компьютеры подключены к одной сети (к одному роутеру) , настройки общего доступа выставлены правильно, а на вкладке «Сеть» пусто. Или отображается только маршрутизатор и ваш компьютер.

Читайте также:  Не устанавливается драйвер звуковой карты windows 10

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

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

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

Мы будем рассматривать два случая:

  1. Когда компьютеры не видят друг друга в локальной сети.
  2. Общий доступ к сетевому накопителю. Это у нас может быть флешка, или жесткий диск который подключен к роутеру, или отдельный накопитель (он же NAS) .

Первый случай

Чтобы компьютеры могли видеть друг друга и отображаться в проводнике в разделе «Сеть», они должны быть подключены через один маршрутизатор. Или соединены напрямую (кабелем, или по Wi-Fi) . Проще говоря, они должны находится в одной локальной сети.

Дальше, на всех компьютерах (не знаю, сколько их там у вас) , желательно присвоить статус сети «Домашняя» (частная). Как это сделать в Windows 10, я писал в статье домашняя (частная) и общественная (общедоступная) сеть Windows 10. В Windows 7 достаточно зайти в «Центр управления сетями и общим доступом» и сменить там статус текущего подключения.

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

Для этого, в окне «Центр управления сетями и общим доступом» (если не знаете как открыть его в Windows 10, то смотрите эту статью) нажимаем на пункт «Изменить дополнительные параметры общего доступа».

И для текущего профиля (обычно это «Частная») выставляем параметры как на скриншоте ниже.

Делаем это на всех компьютерах в локальной сети.

Статьи по этой теме:

Как правило, эти советы решают все проблемы с обнаружением компьютеров в локальной сети.

Второй случай

Когда у вас проблемы с доступом к сетевому накопителю. Как в моем случае. Windows 10 не видела USB накопитель, который был подключен к роутеру ASUS. Сейчас много маршрутизаторов имеют USB-порт для подключения накопителей и других устройств, так что тема актуальная.

Нужно убедится, что в настройках роутера этот накопитель определен, и общий доступ к нему включен. Понятно, что на разных маршрутизаторах, это делается по-разному. На роутерах ASUS, например, это выглядит вот так:

Не путайте настройки общего доступа с настройками FTP. Настройки FTP-сервера на роутере в данном случае не при чем.

Ну и если другие устройства видят сетевой накопитель и имеют к нему доступ, а на каком-то конкретном компьютере доступа к нему нет, то значит проблема не на стороне роутера. Перебирайте настройки «проблемного» ПК по этой статье.

Антивирус или брандмауэр может блокировать сетевые устройства

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

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

Поэтому, попробуйте на время полностью остановить работу антивируса, или хотя бы отключить встроенный в него фаервол (межсетевой экран) . В NOD 32 это делается вот так:

Читайте также:  Планшет не обновляет windows 10

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

Вполне возможно, что у вас установлены еще какие-то программы, которые могут мониторить сеть и управлять сетевыми соединениями.

Если окажется, что проблема в антивирусе, то нужно добавить свою сеть в исключения. Запретить фаерволу блокировать саму сеть, или сетевые устройства.

Если у вас нет антивируса, то можно поэкспериментировать с отключением/включением брандмауэра встроенного в Windows.

Рабочая группа

Рабочая группа должна быть одинаковой на всех устройствах. Как правило, так и есть. Но желательно проверить. Для этого откройте свойства компьютера «Система» и перейдите в «Дополнительные параметры системы».

Там будет указана «Рабочая группа». Чтобы изменить ее, нужно нажать на кнопку «Изменить».

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

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

Проблема с доступом к общей сетевой папке по SMB1 в Windows 10 (мое решение)

Вернемся конкретно к моей проблеме. Все что я описал выше, проверил и перепроверил уже по 10 раз. Пару раз сделал сброс сетевых настроек, но Windows 10 так и не видела другие компьютеры в сети и что самое главное – в проводнике так и не появлялась общая папка в виде флеши подключенной к роутеру. А на других устройствах в сети все определялось без проблем. В том числе мой ноутбук.

Где-то я прочитал, что можно попробовать открыть общую папку через окно «Выполнить». Нажал сочетание клавиш Win + R, ввел адрес сетевой папки //192.168.1.1 (он же адрес роутера) .

Доступ к накопителю я не получил, но появилась интересная ошибка:

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

Вашей системе необходимо использовать SMB2 или более позднюю версию.

И ссылка, которую нужно вручную набирать 🙂

Это уже интересно. Хоть что-то.

Начал искать. И оказывается, что в Windows 10 отказались от протокола SMB1. Из-за безопасности. А установленный на моем роутере пакет программ Samba походу работает по протоколу SMB1. Поэтому Windows 10 его не видит. Но другие компьютеры, которые так же работают на Windows 10 у меня так же не отображались на вкладке «Сеть».

Так как обновить протокол к SMB2 в настройках роутера я не мог, то решил что нужно как-то включить поддержку SMB1 в Windows 10. И как оказалось, это без проблем можно сделать. В итоге, после подключения компонента «Клиент SMB 1.0/CIFS» у меня все заработало. Система увидела общие папки на компьютерах в сети и сетевую папку настроенную на самом роутере.

Как включить SMB1 в Windows 10?

Через поиск найдите и откройте старую «Панель управления».

Переключитесь на «Мелкие значки» и откройте «Программы и компоненты».

Открываем «Включение или отключение компонентов Windows». Находим пункт «Поддержка общего доступа к файлам SMB 1.0/CIFS». Открываем его и ставим галочку возле «Клиент SMB 1.0/CIFS». Нажимаем Ok.

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

После перезагрузки, на вкладке «Сеть» – «Компьютер» должны появится все доступные устройства в вашей сети.

Буду рад, если эта статья кому-то пригодится и поможет решить возникшую проблему. Не забудьте написать в комментариях о результатах. Или задать вопрос, куда же без них 🙂

Оцените статью
Adblock
detector