У моего работодателя есть групповая политика Active Directory, в которой для моего ноутбука Windows 7 HOMEDRIVE установлено значение «M:» (подключенный сетевой диск), а для моего HOMEPATH - «\». Поскольку у меня есть права только для чтения для корня этого общего диска, я не могу создавать файлы или каталоги в своем домашнем каталоге Windows. Мои попытки работать с ИТ-отделом оказались безуспешными.
Есть ли способ для меня , чтобы глобально изменить эти переменные окружения при загрузке или авторизаций времени? Мне нужно, чтобы все приложения использовали альтернативные значения (например, «C:» и «\ Users \ myname»). У меня есть некоторые установленные утилиты (например, gvim и другие), которые хранят файлы настроек в домашнем каталоге пользователя.
ВАЖНО : Изменение этих параметров в разделе «Свойства системы> Переменные среды» не работает . Я попытался установить их как пользовательские и системные переменные (включая перезагрузку). Печатание SET HOME
в окне DOS ясно показывает, что мои настройки игнорируются. Кроме того, использование «Пуск в» в ярлыке Windows также не решит эту проблему, так как мне нужны такие вещи, как элементы контекстного меню Проводника (например, «Редактировать с помощью Vim») для правильной работы.
У меня есть права администратора на ноутбуке этой компании, но я не гуру Win7. В свое время загрузочный скрипт решил бы это за минуту. Возможно ли это сегодня? Благодарю.
Ответы:
Ниже приведены некоторые хаки, которые я разработал. Они не элегантны, но могут быть функциональными в вашей корпоративной среде.
Только HOMEDRIVE
Кажется, что многие приложения используют только HOMEDRIVE / HOMEPATH. В этом случае вы можете создать сценарий запуска, который сопоставляет букву базового диска с вашим локальным путем через путь администратора диска UNC:
HOMEDRIVE Локальный по умолчанию
Если вам вообще не нужен доступ к «Серверу» по имени, вы можете вызвать сбой настройки групповой политики и откат к локальной машине. Самый простой способ сделать это - добавить запись в C: \ Windows \ System32 \ drivers \ etc \ hosts, например:
После перезагрузки вы должны увидеть что-то вроде:
HOMEDRIVE / SHARE с гибридными локальными / удаленными UNC-путями
Если вы хотите получить доступ к «Серверу» по имени для некоторых путей UNC, но переопределить другие локальными путями, я разработал следующую мерзость. Примечание: прямые подключения к серверу по-прежнему будут разрешаться на вашем локальном компьютере. Я рекомендую это решение, только если «Сервер» является только файловым сервером:
Измените C: \ Windows \ System32 \ drivers \ etc \ hosts, чтобы перенаправить «Сервер» на ваш локальный компьютер:
Добавьте следующее значение реестра для нескольких строк в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0, чтобы разрешить передачу учетных данных в локальный путь UNC:
Создайте фиктивный каталог, который будет служить корнем сервера:
Для каждого UNC-пути, который вы хотите направить на реальный Сервер:
Для каждого общего ресурса UNC, который вы хотите определить локально (например, Users):
перезагрузка
Например, это позволит разрешить следующие пути UNC:
Это разрешение пути должно происходить до сопоставления дисков. Пока пути UNC, связанные с сопоставлениями, действительны (локальные или удаленные), буквы дисков должны вести себя как положено.
Например, в моей настройке следующие переменные принудительно задаются доменом:
Но из-за моих отображений результат:
источник
Лучшее решение, которое я нашел, состояло в том, чтобы установить переменные во время входа и до
userinit.exe
.Это то, что я сделал. Сначала создали командный файл,
C:\Windows\System32\userinit.cmd
содержащийа затем изменили значение
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
дляC:\Windows\System32\userinit.cmd
в реестре.Дополнительная информация по адресу: https://technet.microsoft.com/en-us/library/cc939862.aspx
источник
Я использовал
SETX
в сценарии запуска, и это сработало для меня. Смотри мой ответ .источник
Я думаю, что эти пути автоматически устанавливаются на место, где находится ваш профиль пользователя. Домашний диск, на который вы ссылаетесь, - это место, где находятся ваши ntuser.dat, данные приложения и другие папки профиля пользователя, верно? Вернувшись к NT3.x, «профиль пользователя» был просто кустом реестра пользователей с настройками, и вы могли установить отдельный домашний путь для каждого пользователя. Они объединены в NT4 в виде профиля пользователя с рабочим столом, моими документами, меню «Пуск» и т. Д.
Расположение всех профилей хранится в разделах реестра под
Вы найдете некоторые значения для специальных профилей и подразделов: по одному для каждого активного профиля в системе. Они устанавливаются с помощью SID учетной записи пользователя, которому они принадлежат. Самый простой способ найти ваш - прокрутить каждый, ищущий правильный путь (под
ProfileImagePath
значением). Вы должны иметь возможность просто изменить это значение на любой путь, который вы хотите; это вступит в силу при следующем входе в систему. Обязательно сначала скопируйте файлы на новый путь.Если вам нужно перенести профиль из учетной записи, в которую вы вошли как (т.е. вошли как MikeC и пытаетесь скопировать профиль для MikeC), файл ntuser.dat (содержащий куст реестра
HKEY_CURRENT_USER
) будет заблокирован ядром. Вы все еще можете скопировать куст: перейдите в regedit, щелкните правой кнопкой мышиHKEY_CURRENT_USER
, выберите «Экспорт», измените тип на файлы куста реестра и сохраните как ntuser.dat в новом месте.По моему опыту, если у winlogon возникла проблема с загрузкой профиля, потому что что-то настроено неправильно, он либо создаст новую копию из профиля по умолчанию, либо предоставит вам временную копию для использования в этом сеансе, и вы все равно сможете войти в. Однако, я бы порекомендовал вам использовать другую учетную запись администратора для использования в системе на случай, если что-то пойдет не так.
источник
Я публикую это на тот случай, если кто-нибудь еще придет к этому вопросу через Google. Вместо того, чтобы сменить мой домашний каталог и заставить парней из IS на меня злиться, я настроил и запустил разработку на виртуальной машине. Microsoft предлагает Widows XP в виртуальном режиме. http://www.microsoft.com/windows/virtual-pc/download.aspx
источник
Несколько более простой альтернативой будет запуск приведенного ниже сценария (env-reset.vbs) в качестве запланированной задачи при входе в систему, разблокировке и, возможно, каждые несколько минут.
источник