37

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

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

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

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

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

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

6 ответов6

26

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

  1. Если вы работаете в Windows 7, вы можете пропустить этот шаг. Если вы на Windows XP, скачать и установить Windows XP Service Pack 2 Support Tools, который содержит 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 имеет гораздо больше опций и использует / вместо - .

8

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

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.

8

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

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

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

4

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

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

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

Смена HOME , HOMEPATH не помогает !!

Решение:

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

Где g: сетевой диск.

 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .