Ниже приведены некоторые хаки, которые я разработал. Они не элегантны, но могут быть функциональными в вашей корпоративной среде.
Только HOMEDRIVE
Кажется, что многие приложения используют только HOMEDRIVE / HOMEPATH. В этом случае вы можете создать сценарий запуска, который сопоставляет букву базового диска с вашим локальным путем через путь администратора диска UNC:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username
net use g: /delete
net use g: \\localhost\C$\Users\username
HOMEDRIVE Локальный по умолчанию
Если вам вообще не нужен доступ к «Серверу» по имени, вы можете вызвать сбой настройки групповой политики и откат к локальной машине. Самый простой способ сделать это - добавить запись в C: \ Windows \ System32 \ drivers \ etc \ hosts, например:
127.0.0.1 Server
После перезагрузки вы должны увидеть что-то вроде:
set HOME
HOMEDRIVE=C:
HOMEPATH=\Users\username
HOMEDRIVE / SHARE с гибридными локальными / удаленными UNC-путями
Если вы хотите получить доступ к «Серверу» по имени для некоторых путей UNC, но переопределить другие локальными путями, я разработал следующую мерзость. Примечание: прямые подключения к серверу по-прежнему будут разрешаться на вашем локальном компьютере. Я рекомендую это решение, только если «Сервер» является только файловым сервером:
Измените C: \ Windows \ System32 \ drivers \ etc \ hosts, чтобы перенаправить «Сервер» на ваш локальный компьютер:
127.0.0.1 Server
Добавьте следующее значение реестра для нескольких строк в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0, чтобы разрешить передачу учетных данных в локальный путь UNC:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\
BackConnectionHostNames = Server
Создайте фиктивный каталог, который будет служить корнем сервера:
set DUMMY_LOC=C:\Server_Dummy
mkdir %DUMMY_LOC%
cd /D %DUMMY_LOC%
Для каждого UNC-пути, который вы хотите направить на реальный Сервер:
rem Alternatively you can use an IP below, but it is more likely to break if DNS changes
set SERVER_FQDN=Server.network.blah.com
rem Take a look at what's available...
net view \\%SERVER_FQDN%\
mklink /D Remote_Example \\%SERVER_FQDN%\Remote_Example
net share Remote_Example=%DUMMY_LOC%\Remote_Example /grant:everyone,FULL
Для каждого общего ресурса UNC, который вы хотите определить локально (например, Users):
rem The link isn't really necessary for the share, I just find it easier to manage when all of these hacks are in the same directory
mklink /D Users C:\Users
net share Users=%DUMMY_LOC%\Users /grant:everyone,FULL
перезагрузка
Например, это позволит разрешить следующие пути UNC:
\\Server\Remote_Example => \\Server.network.blah.com\Remote_Example
\\Server\Users => C:\Users
Это разрешение пути должно происходить до сопоставления дисков. Пока пути UNC, связанные с сопоставлениями, действительны (локальные или удаленные), буквы дисков должны вести себя как положено.
Например, в моей настройке следующие переменные принудительно задаются доменом:
set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username
Но из-за моих отображений результат:
G: => \\Server\Users\username => C:\Users\username