Gpo подключить сетевой диск
05.05.2021
itpro
PowerShell, Windows 10, Групповые политики
комментариев 15
В последних билдах Windows 10 встречался неприятный баг, из-за которого перестают подключаться сетевые диски после перезагрузки компьютера. После входа в систему пользователь в проводнике Windows видит красный крест на иконках всех подключенных сетевых дисков. Если в командой строке выполнить команду net use, то напротив всех подключенных дисков вы увидите статус Недоступны (Unavailable). Автоматически не переподключаются как сетевые диски, подключенные пользователем, так и диски, подключаемые через GPO.
Впервые эта проблема была обнаружена в Windows 10 1809, но она встречается и в более новых билдах, в том числе в Windows 10 2004.
Подключенные сетевые диски не отображаются в приложении
Проверим, что при включенном UAC вы не можете из привилегированного приложения получить доступ к подключенному в обычном режиме сетевому диску.
Например, откроем командную строку с правами пользователя и проверим что мы можем получить доступ к содержимому подключенного сетевого диска Z:\.
Команда вывела содержимое сетевой папки.
Такое поведение системы может вызывать ряд неудобств при частом запуске приложений в привилегированном режиме. Можно запускать приложения без прав администратора, но это не всегда применимо.
Почему это происходит? Данная особенность связана с механизмом работы UAC для пользователя с правами локального администратора. Дело в том, что при входе такого пользователя в систему создаются два маркера доступа: один маркер доступа с отключенными правами администратора (маркер фильтрованного доступа – из-под которого запускаются большинство программ) и маркер полноценного администратора, обладающего полными правами в системе (в этом контексте выполняются все программы, получившие подтверждение на повышение прав в UAC).
Если с помощью команды whoami /all сравнить текущие привилегии одного и того же пользователя в двух сессиях cmd.exe (обычной и привилегированной), можно увидеть, что они сильно отличаются. В следующей таблице перечислены отличия в группах и текущих полномочиях в каждой сессии.
При включенном UAC приложения под одним и тем же пользователем могут запускаться в двух контекстах (привилегированном и непривилегированном). При подключении общих сетевых папок, система создает символические ссылки (DosDevices), в которых хранится сопоставление буквы диска и UNC пути. Эти ссылки ассоциируются с текущим сеансом для текущего маркера доступа процесса и недоступны из-под другого маркера.
Соответственно, может иметь место и обратная проблема: если пользователь обладает правами администратора на своем компьютере, то при подключении сетевых дисков через логон-скрипты групповых политик, задания планировщика или SCCM (которые запускаются с повышенными привилегиями), эти диски не видны пользователю в проводнике Windows (непривилегированный процесс).
В качестве обходного решения можно порекомендовать подключать сетевые диски из командой строки, запущенной с правами администратора (через net use или rundll32 SHELL32.dll,SHHelpShortcuts_RunDLL Connect ). Но это решение не всегда применимо, и не очень удобно.
Подключение сетевых дисков через GPO
Если вы подключаете сетевые диски пользователям с помощью доменной GPO, то для корректного переподключения дисков нужно изменить настройки политики.
Откройте политику, подключающую диски, и в разделе User Settings -> Preferences -> Windows Settings -> Drive maps найдите вашу политику (политики) назначения сетевых дисков и измените тип действия с Update на Replace.
После обновления параметров групповых политик на клиентах при входе пользователя в систему, сетевые диски будут удалены и назначены снова.
Настроить задержку подключения сетевых дисков в Windows через GPO
Windows может пытаться переподключить сетевые диски при входе пользователя до полноценной инициализации сетевого интерфейса. Чтобы предотвратить подключение сетевых дисков до полного включения сети, вы можете включить специальный параметр групповой политики.
Вы можете настроить этот параметр через редактор локальной групповой политики ( gpedit.msc ) или из редактора доменных GPO ( gpmc.msc ). Перейдите в раздел Computer Configuration -> Administrative Templates -> System -> Logon и включите политику Always wait for the network at computer startup and logon (Всегда ожидать инициализации сети при загрузке и входе в систему).
Также эту проблему можно решить, если просто подождать 15 секунд после загрузки компьютера (или выхода его из режима гибернации/спящего режима), прежде чем логиниться. Этого времени будет достаточно, чтобы Windows инициализировала сеть.
Enablelinkedconnections: разрешить доступ к сетевым дискам из программ, запущенных с правами администратора
Есть более простое решение. Для его реализации нужно внести следующие изменения в реестр:
Совет. То же самое можно сделать одной командой:
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name EnableLinkedConnections -Value 1 -PropertyType 'DWord'
В обратную сторону это тоже работает: все сетевые диски, подключенные в контексте привилегированной сессии, будут доступны и в обычной сессии.
Совет. К сожалению, в групповых политиках отсутствует возможность включения параметра EnableLinkedConnections, поэтому для применения этих настроек на компьютеры домена придется распространить параметр реестра через GPP.
Как это работает. После включения параметра реестра EnableLinkedConnections, служба LanmanWorkstation и LSA будут проверять наличие второго маркера доступа, связанного с сессией текущего пользователя. Если такой маркер доступа обнаружен, список подключенных сетевых дисков копируется из одного маркера в другой. Таким образом сетевые диски, подключенные в привилегированном режиме, будут видны в обычном и наоборот.
Совет. В качестве альтернативного решения можно предложить создать символическую ссылку на целевой сетевой каталог. Например, так
mklink /D c:\docs \\msk-fs1\docs
Доступ к данному каталогу будет возможен и в обычном и в привилегированном режиме. Из недостатков метода, отметим, что доступ на общую папку выполняется с полномочиями текущего пользователя. Нельзя, как в случае с net use, использовать учетную запись другого пользователя.
После включения параметра EnableLinkedConnections сетевые диски также станут доступны из заданий планировщика, запущенных из-под текущего пользователя. Если задание запускается от имени LocalSystem или другого пользователя, сетевые диски текущего пользователя, естественно, будут недоступны.
Facebook Если у вас не работает этот способ авторизации, сконвертируйте свой аккаунт по ссылке ВКонтакте Google RAMBLER&Co ID
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Не подключаются сетевые диски в Windows 10 2004
Проблема с подключением сетевых дисков также наблюдается в билде Windows 10 2004. Проблема возникает с сетевыми дисками, подключенных с legacy устройств с поддержкой только протокола SMBv1 (Windows XP/2003, старые NAS устройства).
Для решения этой проблемы нужно прописать в реестре пользователя для каждого подключенного сетевого диска параметр ProviderFlags =1.
Например, если у пользователя в сессии подключен сетевой диск U:, перейдите в раздел реестра HKEY_CURRENT_USER\Network\U. Создайте параметр типа DWORD с именем ProviderFlags и значением 1.
Или выполните команду:
REG ADD "HKCU\Network\U" /v "ProviderFlags" /t REG_DWORD /d "1" /f
GPO. Подключение сетевых дисков через групповые политики
Подключение сетевых дисков через групповые политики работает намного быстрее, чем различные логон-скрипты.
Открываем оснастку Пользователи и компьютеры Active Directory
Создаем группу безопасности в Active Directory для пользователей, которым будет подключаться, например, сетевой диск Y. Область действия группы - Локальная в домене.
Вводим Имя группы:
Нажимаем Ok и после этого щелкаем правой кнопкой на созданной группе, в контекстном меню выбираем Свойства:
Вкладка Члены группы, Добавить:
Вводим имя выбранного пользователя и нажимаем Проверить имена:
Выбираем необходимого пользователя и нажимаем Ok:
И еще раз - Ok:
Теперь запустим оснастку Управление групповой политикой и создадим новую групповую политику, например, U Сетевой диск Y. Далее щелкаем правой кнопкой на созданной групповой политике U Сетевой диск Y и отключаем Параметры конфигурации компьютера:
Теперь выбираем Изменить:
В открывшемся окне Редактор управления групповыми политиками выбираем последовательно:
Конфигурация пользователя -> Настройка -> Конфигурация Windows -> Сопоставления дисков:
Правой кнопкой Создать -> Сопоставленный диск:
В открывшемся окне Новые свойства диска на вкладке Общие в выпадающем списке Действие: необходимо выбрать Создать:
В Размещение выбираем кнопку . и попадаем в окно Поиск: Пользовательский поиск:
Находим нужный сетевой ресурс и прописываем его в поле Размещение:
Обязательно выбираем чекбокс Повторное подключение и Подпись - то, что будет видеть пользователь рядом с названием ресурса:
В поле Буква диска выбираем радиокнопку Использовать и в выпадающем списке букву диска Y:
Переходим на вкладку Общие параметры и выбираем Нацеливание на уровень элемента:
Заходим в кнопку Нацеливание.
В Редакторе нацеливания щелкаем выпадающий список Создать элемент и Группа безопасности:
Выбираем радиокнопку Пользователь в группе и щелкаем кнопку . :
Находим созданную ранее группу безопасности и нажимаем Ok:
Еще раз Ok:
И еще раз Ok:
Попадаем снова в окно Новые свойства диска и нажимаем Ok:
Теперь связываем новую политику с тестовым подразделением (OU) - желательно сначала протестировать работу новой политики :-):
Проверяем, что связь включена и добавляем галочку Принудительный:
Теперь нужно залогиниться в тестовую машину и проверить, что сетевой диск появился у пользователя:
Ура! Действительно сетевой диск Y автоматически появился в Сетевом размещении:
Сегодня я хотел бы с вами поделиться информацией как можно достаточно легко и быстро с помощью технологии Group Policy Preferences (GPP) (Она доступна с Windows Server 2008) создавать и мапить пользовательские личные папки на сервере.
- Создание и настройка прав на корневую папку в которой будут храниться папки пользователей
- Создание папки для пользователя
- Мапинг сетевого диска для пользователей
Первым делом, нам необходимо создать папку в которой будут храниться все папки пользователя.
Для нее необходимо установить следующие настройки безопасности:
Sharing доступ:
Autentication User — Full Control
NTFS доступ:
SYSTEM = Full Control
CREATOR OWNER = Full Control
Domain Administrtors = Full Control
Authenticaton Users = только эти атрибутыTraverse folder; Create folder; Write attributes; Write extended attributes; Read permissions; Change permissions
В итоге должно получится как указано на рисунках приведенных ниже
Для того, чтобы создать папки для пользователей в директории Users, мы переходим во вкладку
«User Configuration» — «Preferences — »Windows Settings" – «Folders» и в ней мы создаем папку %Logonuser% как указано на рисунке ниже.
Создадим групповою политику для пользователя и в разделе «User Configuration» — «Preferences» — «Windows Settings» — Drive Maps" создадим новый сетевой диск и дадим ему имя, например HomeFolder
PowerShell скрипт для автоматического переподключения сетевых дисков
Рассмотрим, как использовать PowerShell скрипт для автоматического переподключения сетевых дисков при входе пользователя в Windows.
Откройте блокнот (notepad.exe), скопируйте в него следующий PowerShell код и сохраните файл в каталог C:\PS с именем MapDrives.ps1:
$i=3
while($True)$error.clear()
$MappedDrives = Get-SmbMapping |where -property Status -Value Unavailable -EQ | select LocalPath,RemotePath
foreach( $MappedDrive in $MappedDrives)
try New-SmbMapping -LocalPath $MappedDrive.LocalPath -RemotePath $MappedDrive.RemotePath -Persistent $True
> catch Write-Host "Ошибка подключения сетевого каталога $MappedDrive.RemotePath в диск $MappedDrive.LocalPath"
>
>
$i = $i - 1
if($error.Count -eq 0 -Or $i -eq 0)
Start-Sleep -Seconds 30
>
Данный скрипт выбирает все недоступные сетевые диски и пытается их переподключить в постоянном режиме (ключ Persistent).
Создайте еще один файл сценария MapDrives.cmd с кодом:
PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1
PowerShell -File "%SystemDrive%\PS\MapDrives.ps1" >> "%TEMP%\StartupLog.txt" 2>&1
Данный код позволяет корректно вызвать PowerShell скрипт, описанный выше.
Вы можете поместить файл в автозагрузку пользователя, скопировав файл MapDrives.cmd в каталог %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp.
Также вы можете создать задание планировщика, которое дожно запускать файл MapDrives.cmd при входе пользователя в систему. Вы можете создать задание планировщика с помощью PowerShell или из графического интерфейса консоли планировщика Windows (Taskschd.msc).
Создайте новое задание, укажите его имя, выберите что задание должно запускаться от имени встроенной группы Пользователи (Builtin\Users).
На вкладке Триггеры выберите, что задание должно выполняться при входе в систему любого пользователя (At logon -> Any user).
На вкладке действие в поле Программа укажите путь к файлу MapDrives.cmd.
На вкладке Условие можно включить опцию Сеть -> Запускать только при подключении к следующей сети -> Любое подключение.
Перезайдите в систему или выполните перезагрузку компьютера. При входе пользователя должен запуститься PowerShell скрипт, которые пересоздаст все подключения к сетевым дискам.
Windows 10 не восстанавливает подключение к сетевым дискам
Windows 10 по какой-то причине перестает автоматически подключать сетевые диски после перезагрузки компьютера. Сетевые диски отображаются в проводнике, но подключиться к ним нельзя.
При этом в области уведомлений появляется всплывающее окно с текстом:
Проблема возникает как с дисками, подключенных с NAS устройств, так и с сетевыми папками на других компьютерах Windows/Linux. Этот баг впервые появился в Windows 10 1809 и по словам Microsoft исправлен обновлением KB469342 выпущенным 5 декабря 2018 года (addresses an issue that may cause mapped drives to fail to reconnect after starting and logging onto a Windows device). Но проблема встречается и в других билдах Windows 10.
Также Microsoft предлагает обходное решение проблемы с восстановлением подключения к сетевым дискам (см. KB4471218 — Mapped network drive may fail to reconnect in Windows 10). Для этого при входе пользователя в систему предлагается запускать PowerShell скрипт, который должен переподключить все недоступные сетевые диски. Если сетевые диски подключаются через групповые политики, нужно изменить настройки GPO.
Отключить уведомление “Не удалось восстановить подключение ко всем сетевым дискам”
Если ваш компьютер находится не в сети предприятия (сетевые диски не доступны по определению), и вам мешает назойливое уведомление “Не удалось восстановить подключение ко всем сетевым дискам” при каждой загрузке Windows, вы можете его отключить.
Для этого в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider нужно создать параметр типа DWORD с именем RestoreConnection и значением 0.
14.07.2020
itpro
Active Directory, Windows 10, Windows Server 2016, Групповые политики
комментариев 26
Вы можете использовать групповые политики для гибкого подключения сетевых папок с файловых серверов в виде отдельных сетевых дисков Windows. Исторически для подключения сетевых дисков использовались логон bat скрипты с командой net use U: \\server1\share . Однако групповые политики намного гибче, отрабатывают быстрее и обновляются в фоновом режиме (не нужно выполнять перезагрузку или логоф пользователя для подключения сетевых дисков через GPO).
В этой статье мы покажем, как использовать GPO для подключения сетевых дисков в Windows: рассмотрим подключение общей сетевой папки отдела на основе групп безопасности AD и персональных сетевых дисков пользователей на сетевом хранилище.
Создайте в Active Directory новую группу для отдела менеджеров и добавьте в нее учетные записи сотрудников. Можно создать и наполнить группу из графической консоли ADUC или воспользоваться командлетами PowerShell для управления группами AD (входят в модуль AD PowerShell):
New-ADGroup "SPB-managers" -path 'OU=Groups,OU=SPB,dc=test,DC=com' -GroupScope Global -PassThru –Verbose
Add-AdGroupMember -Identity SPB-managers -Members a.novak, r.radojic, a.petrov, n.pavlov
Для создание автоматически наполняющихся групп AD можно использовать скрипт из статьи Динамические группы в Active Directory.
Предположим, у вас есть файловый сервер, на котором хранятся общие сетевые каталоги департаментов. UNC путь к общему рабочему каталогу менеджеров, который нужно подключить всем сотрудникам отдела — \\server1\share\managers .
Теперь нужно создать GPO для подключения данного сетевого каталога в виде диска.
- Action: Update (этот режим используется чаше всего);
- Location: UNC путь к каталогу, который нужно подключить;
- Label as: метка диска;
- Reconnect: сделать сетевой диск постоянным (будет переподключаться каждый раз при входе, даже если вы удалите политику – аналог параметра /persistent в net use);
- Drive Letter – назначить букву диска;
- Connect as: опция сейчас не доступна, т.к. Microsoft запретила сохранять пароли в Group Policy Preferences.
Если подключенные сетевые диски не доступны из программ, запущенных с правами администратора, нужно использовать специальный параметр реестра EnableLinkedConnections (его можно распространить через GPO).
Создадим еще одно правило политики, которое подключает персональные сетевые каталоги пользователей в виде сетевых дисков. Допустим, у вас есть файловый сервер, на котором хранятся личные папки пользователей (на каждую папку назначены индивидуальные NTFS разрешения, чтобы пользователи не могли получить доступ к чужим данным). Вы хотите, чтобы эти каталоги автоматически подключались в сеанс пользователя в виде сетевых дисков.
Создайте для каждого пользователя отдельный каталог, соответствующий его имени в AD ( sAMAccountName ) и назначьте нужные NTFS права.
Создайте еще одно правило подключения дисков в той же самой GPO.
В настройках политики укажите путь к сетевому каталогу с личными папками пользователей в виде \\server1\share\home\%LogonUser% . В качестве метки диска я указал %LogonUser% - Personal .
Полный список переменных окружения, которые можно использовать в GPP можно вывести, нажав клавишу F3.
Сохраните изменения и обновите политики на компьютерах пользователей командой:
Теперь у пользователей должны подключиться новые сетевые диски — персональные каталоги с файлового сервера. Пользователи смогут использовать их для хранения личных данных. Такой сетевой диск будет подключаться на любом компьютере, на который выполнил вход пользователь.
В Windows 10 1809 была проблема с подключением сетевых дисков, для исправления нужно установить специальный патч.
Таким образом в одной GPO вы можете создать множество отдельных параметров с различными условиями подключения сетевых дисков пользователям.
Для выборки различных критериев компьютеров или пользователей при подключении дисков используется функционал таргетинга GPP (в основе лежат wmi фильтры).
20.04.2021
itpro
Windows 10, Windows Server 2016
комментариев 12
Если вы используете подключенные сетевые диски на рабочих станциях, вероятно вы заметили, что они не доступны в программах, запущенных с правами администратора (в том числе в cmd и PowerShell). Это связано с функционалом User Account Control (UAC). Включенный UAC с настройками по-умолчанию не позволяет получить доступ к подключенным (через net use) сетевым дискам из приложений, запущенных в привилегированном режиме (Run As Administrator). Это означает, что при запуске командной строки или файлового менеджера (того же, Total Commander) с повышенными правами, в них будут не видны буквы дисков смонтированных сетевых папок.
Проблема наблюдается, если выполняются следующие условия
-
В сессию пользователя подключены сетевые диски (через GPO или вручную через net use );
В этом случае сетевые диски отображаются в проводнике Windows и в программах, но недоступны в любых приложениях, запуженные в привелигированном режиме.
В этой заметке мы покажем, как в Windows 10 разрешить доступ к сетевым дискам из приложений, работающих в привилегированном режиме (запущенных от имени администратора). Проблема проявляется как для сетевых дисков, подключенных через групповые политики, так и для папок подключенных пользователей самостоятельно.
Важно. Настоятельно не рекомендуется совсем отключать UAC на компьютере, даже для одного конкретного приложения.
Читайте также: