Как изменить HOMEDRIVE HOMEPATH и HOMESHARE в Windows XP?


40

У меня есть ноутбук, на котором настроен профиль пользователя на сетевом диске. Это вызывает у меня много головной боли, так как подключение к моей компании очень медленное. Я хочу переместить профиль моего пользователя в локальный каталог. Как я могу это сделать?

Это настройки на данный момент:

C:\>set HOME
HOMEDRIVE=P:
HOMEPATH=\
HOMESHARE=\\SOMESERVER\_myuser$

Диск P является сетевым диском, сопоставленным с HOMESHARE.

Я не могу найти, где windows устанавливает эти переменные среды, даже в реестре.

Ноутбук работает под управлением Windows XP.

Ответы:


27

У меня была похожая проблема, которая вызвала проблемы с msysgit . Вот решение, которое я использовал, и оно определенно сработало для меня. Этот ответ похож на это и что SO пост.

  1. Если вы работаете в Windows 7, вы можете пропустить этот шаг. Если вы на Windows XP, скачать и установить Windows XP с пакетом обновления 2 Инструменты поддержки , который содержит SETX, утилиту, описанную на SS64 и TechNet , что позволяет установить постоянные системные и пользовательские переменные. У вас должны быть права администратора для установки глобальных системных переменных. Основное использование есть SETX <variable> "<value>" [-m].

  2. Добавьте следующий скрипт в загрузочную папку - W7: "C:\Users\<username>\Start Menu\Programs\Startup"и XP: "C:\Documents and Settings\<username>\Start Menu\Programs\Startup".

    SETX HOMEDRIVE %SYSTEMDRIVE% -m
    SETX HOMEPATH "\Documents and Settings\%USERNAME%" -m
    SETX HOMESHARE "\\<server>\<share>" -m
    SET HOME=%SYSTEMDRIVE%\Documents and Settings\%USERNAME%
    SETX HOME "%HOME%"
    SET TEMP=%HOME%\Local Settings\Temp
    SETX TEMP "%TEMP%"
    SETX TMP "%TEMP%"
    

Примечание: SETX переменные являются постоянными, но недоступны до тех пор, пока не будет запущен скрипт, поэтому используйте SETдля создания временных переменных в вашем скрипте. Также используются двойные кавычки вокруг значения, которое вы хотите установить для переменной, если в ней есть пробелы, но это не обязательно SET. Машинные переменные устанавливаются с помощью -mопции; переменная пользователя является значением по умолчанию. Windows 7 имеет гораздо больше вариантов и использует /вместо -.


9

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

Рассматривали ли вы вопрос ИТ-специалистов вашей компании, могут ли они изменить это для вас?

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


3
В этом вся прелесть Windows. Даже если вы root, кто-то другой решит, что будет делать ваша ОС.
Луиджи Р. Виджано,

9
Нет, это красота работы, где они поставляют компьютеры и управляют ими. ИЛИ это красота возможности объединить и централизованно управлять сетью, полной компьютеров компании, которые пользователи продолжают пытаться взломать, потому что они думают, что это их. Windows не имеет ничего общего с вашим начальником, который решает, как вы используете ресурсы компании (ноутбук, сеть и т. Д.). ;)
Ƭᴇcʜιᴇ007

3
Нет, в этом и заключается прелесть экосистемы, благодаря которой обезьянам с отключенным питанием легко играть в Бога, не заботясь и не заботясь о том, как это влияет на производительность.
Натанчер

2
Нет, это способность эффективно управлять сотнями компьютеров без всякого разрушения пользователями, и это одна из причин, почему вы не видите повсюду рабочие столы Linux или Mac. Не каждый является опытным пользователем в реальном мире бизнеса. Мы не говорим о магазинах кодирования.
Алан Б

9

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

set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username

Но с моим обходным путем, получающиеся отображения:

HOMEDRIVE => G: => \\Server\Users\username => C:\Users\username
HOMESHARE       => \\Server\Users\username => C:\Users\username

В то время как другие пути сервера / сопоставления дисков отправляются на удаленный сервер:

O: => \\Server\Example => \\Real_Server\Example
      \\Server\Example => \\Real_Server\Example

Они были протестированы только в Windows 7, но я полагаю, что они также будут работать в Windows XP, если у вас есть инструмент mklink.


Спасибо за предложение; в конце мне удалось заставить некоторые программы (такие как java-приложения, mingw и т. д.) использовать другую домашнюю папку; Я должен был настроить или взломать эти приложения, чтобы обмануть их, но это сработало. Я покинул компанию сейчас, поэтому я не могу проверить, подходит ли ваше решение для моего случая, но ваши хаки - это то, что я надеялся получить, когда разместил этот вопрос.
Луиджи Р. Виджано,

8

Проблема возникает с TortoiseGit при работе вне офиса, где сетевой диск не подключен.

Меняется HOME, HOMEPATHне помогает !!

Решение:

mkdir c:\home
net use g: /delete
subst g: c:\home

Где g:находится сетевой диск.

 


Чувак, ты мой герой.
Чед Шуггинс

4

Они в расширенных системных свойствах. В Vista / Win 7:

  1. Щелкните правой кнопкой мыши «Мой компьютер»
  2. Выберите «Свойства»
  3. Выберите «Расширенные настройки системы» (ссылка в левой части окна)
  4. Выберите «Дополнительно» (вкладка)
  5. Выберите «Переменные среды» (кнопка)

2
Спасибо, но ноутбук работает под управлением Windows XP (я обновил вопрос этой деталью). И эти переменные не видны и не редактируются в системных настройках.
Луиджи Р. Виджано,

2
Некоторые из них просто присутствуют в среде для информации и устанавливаются / хранятся в другом месте. HOMEDRIVE / HOMEPATH - это домашний каталог, указанный в конфигурации учетной записи в разделе «Пользователи и учетные записи». Попробуйте запустить 'lusrmgr.msc' (менеджер локальных пользователей и групп). Некоторые из дополнительных параметров пути управляются через него.

1
К сожалению, мой пользователь является пользователем домена (не локальным), поэтому его нет в списке локальных пользователей и менеджера группы.
Луиджи Р. Виджано,

1
Затем вам нужно изменить его на контроллере домена, где такие вещи хранятся для учетных записей домена. Другой вариант - просто использовать локальную учетную запись с доступом к файлам учетной записи домена, когда вы находитесь вне офиса

Спасибо, я проверю это (контроллер домена). Найдено в Википедии: en.wikipedia.org/wiki/Domain_controller
Луиджи Р. Виджано,

0

Я знаю, что опоздал в эту ветку, но у меня возникла та же проблема, когда мой ИТ-отдел изменил групповые политики, и мой HOMEDRIVE стал M: вместо C: и HOMEPATH просто "\" заменил на "\ Users \ [имя пользователя] ». Я посмотрел в коде Git и обнаружил, что он использует комбинацию HOMEDRIVE / HOMEPATH, только если HOME не определен.

Поэтому я просто определил HOME (который, к счастью, не был в GP) как «C: \ Users \ [username]», и Git .gitconfigснова нашел .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.