Не подключаются сетевые диски в Windows 7

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:| :) :wink: :D :lol: :( :cry: 8) :o :oops: :? :x :P :evil: :twisted: :roll: :!: :?: :idea: :arrow: :mrgreen:
Ещё смайлики…

Markdown is OFF

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Не подключаются сетевые диски в Windows 7

Не подключаются сетевые диски в Windows 7

UncleFather » 26 окт 2012 11:24, Пт

Проблема:

Имеется контроллер домена на Microsoft Windows Server 2003 R2 + рабочие станции на Microsoft Windows XP SP3 Professional и Microsoft Windows 7 Professional. Рабочие станции заведены в домен. В домене в групповых политиках для пользователей прописан скрипт, подключающий сетевой диск.

При входе на ПК с Windows XP, сетевые диски подключаются нормально, при входе на некоторые ПК с Windows 7 сетевые диски не подключаются, при входе на другие ПК, тоже с ОС Windows 7 - подключаются нормально.
Если на "ненормальном" ПК запустить этот же скрипт вручную, после загрузки интерфейса пользователя, то диски нормально подключатся. Более того, все остальные команды скрипта (и до и после команды подключения дисков) корректно выполняются на всех компьютерах домена.

Пытался подключать диски и из bat-файла:

Код: Выделить всё

@echo off
net use W: \\Server\Share1\Folder1 /PERSISTENT:NO
start "Mail" "https://mail.server.ru/webmail/login.php"

echo Y|reg import "\\Server\Share2\Folder2\Folder3\ForAllUsers.reg"

и из VBS-скрипта:

Код: Выделить всё

ON ERROR RESUME NEXT

set wshNetwork = WScript.CreateObject( "WScript.Network") 
Set oShell = WScript.CreateObject("WScript.Shell")
DesktopPath = oShell.SpecialFolders("Desktop") 

do while WSHNetwork.username = "" 
WScript.Sleep 250 
loop 

WSHNetwork.MapNetWorkDrive "W:", "\\Server\Share1\Folder1" 

set FSO=CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "\\Server\Share2\Folder2\Folder3\Слушать радио.url",DesktopPath & "\Слушать радио.url""
FSO.CopyFile "\\Server\Share2\Folder2\Folder3\Дубль ГИС на сервере.lnk",DesktopPath & "\Дубль ГИС на сервере.lnk"

Решение:

Корень зла оказался во включенном контроле учетных записей пользователей. Необходимо отключить его (что не совсем правильно), либо, (что правильнее) согласно KB937624 в реестре по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System создать параметр "EnableLinkedConnections" типа DWord и значением "1", после чего при следующем входе в систему все диски нормально подключатся.

Для тех, кому лень лазить в реестр, прилагаю файл реестра для импорта:

Код: Выделить всё

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:1
LinkedConnections.rar
(792 байт) 2403 скачивания

К сожалению, в групповых политиках контроллера домена на MS Windows 2003 Server R2 нет возможности изменять вышеуказанный параметр. Поэтому для всех ПК с ОС MS Windows 7 приходится либо вручную вносить в реестр этот параметр, либо применить административный шаблон:

NetConnect.rar
(1.58 КБ) 1869 скачиваний

После применения шаблона, управлять параметром "EnableLinkedConnections" можно в групповых политиках - Конфигурация компьютера -> Административные шаблоны -> Система -> Сетевой вход в систему -> Разрешить подключение сетевых дисков из загрузочных скриптов"

01.JPG

Примечание:

Способ с параметром "EnableLinkedConnections" не работает на Windows 8 + MS Windows 2003 Server. Точнее работает, но как-то неполноценно. Так, подключая расшаренный ресурс \\Server\Share\Folder, мы видим, что подключение на Windows 8 прошло нормально, в подключенных дисках все отображается правильно, и net use показывает корректное подключение. Но на самом деле, при попытке открыть подключенный диск, мы попадаем в папку \\Server\Share\, а не в \\Server\Share\Folder. И вне зависимости от глубины подключаемого общего ресурса, мы попадем лишь в коревую папку (например, даже если подключаться к \\Server\Share\Folder1\Folder2\Folder3\Folder4, по-факту мы подключимся только к \\Server\Share).

В этом случае помогает только ПОЛНОЕ отключение контроля учетных записей пользователей (UAC). Причем не перемещение ползунка вниз в менеджере контроля UAC, а именно отключение в реестре. Нужно поменять значение параметра «EnableLUA» на «0» по адресу HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System и перезагрузить компьютер. После этого сетевые диски подключатся нормально.

Поскольку, имхо, этот метод не очень хорош, то применять его нужно только в исключительных случаях. Тем не менее (пока ищу нормальное решение), для желающих выкладываю административный шаблон для изменения этого параметра через групповые политики Windows 2003 Server:

Спойлер

Код: Выделить всё

#if version >= 3 

CLASS MACHINE

CATEGORY !!Network

CATEGORY !!sConnections

POLICY !!Text
			KEYNAME "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" 
	EXPLAIN !!ExplConnections 
	VALUENAME "EnableLinkedConnections" 
	VALUEON NUMERIC 1
	VALUEOFF NUMERIC 0

END POLICY 

END CATEGORY ;sConnections

POLICY !!UACPolicy
			KEYNAME "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" 
	EXPLAIN !!ExplEnableLUA 
	VALUENAME "EnableLUA" 
	VALUEON NUMERIC 1 
	VALUEOFF NUMERIC 0

END POLICY 

END CATEGORY ;Network 

#endif 

[Strings]
Network="Система"
sConnections="Сетевой вход в систему"
Text="Разрешить подключение сетевых дисков из загрузочных скриптов" 
UACPolicy="Политика контроля учётных записей (UAC)"
ExplEnableLUA="Включить контроль учетных записей (UAC)"
ExplConnections="Разрешает подключение сетевых дисков из скриптов, применяемых при входе пользователя в систему. Актуально для MS Windows 7 со включенным UAC (контроль учетных записей)" 
NetConnect&UAC.rar
(1.65 КБ) 907 скачиваний

Этот шаблон включает в себя и предыдущий шаблон NetConnect для изменения параметра «LinkedConnections». То есть устанавливая шаблон NetConnect&UAC.adm, шаблон NetConnect уже не нужен.

Новые параметры будут отображены в групповых политиках в разделах:

  • «LinkedConnections»: Конфигурация компьютера -> Административные шаблоны -> Система -> Сетевой вход в систему -> Разрешить подключение сетевых дисков из загрузочных скриптов"

  • «EnableLUA»: Конфигурация компьютера -> Административные шаблоны -> Система -> Политика контроля учётных записей (UAC)

Обсуждение этой проблемы можно почитать здесь и здесь. По-сути, решения пока нет. Это считается багом Windows 8. Народ ждет Windows 8.1.


Вернуться к началу