Jak zmienić HOMEDRIVE HOMEPATH i HOMESHARE w Windows XP?

40

Mam laptopa skonfigurowanego tak, aby mieć profil użytkownika na dysku sieciowym. Powoduje to wiele problemów, ponieważ łączność z moją firmą jest bardzo wolna. Chcę przenieść profil mojego użytkownika do katalogu lokalnego. W jaki sposób mogę to zrobić?

Oto ustawienia w tej chwili:

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

Dysk P jest dyskiem sieciowym zmapowanym na HOMESHARE.

Nie mogę znaleźć, gdzie system Windows ustawia te zmienne środowiskowe, nawet w rejestrze.

Laptop działa pod kontrolą systemu Windows XP.

Luigi R. Viggiano
źródło

Odpowiedzi:

27

Miałem podobny problem, który spowodował problemy z msysgit . Oto rozwiązanie, którego użyłem i na pewno zadziałało dla mnie. Ta odpowiedź jest podobna do tej i tego postu SO .

  1. Jeśli korzystasz z systemu Windows 7, możesz pominąć ten krok. Jeśli korzystasz z systemu Windows XP, pobierz i zainstaluj narzędzia obsługi systemu Windows XP z dodatkiem Service Pack 2, które zawierają SETXnarzędzie opisane w SS64 i technet , które pozwala ustawić stałe zmienne systemowe i użytkownika. Musisz mieć uprawnienia administracyjne, aby ustawić globalne zmienne systemowe. Podstawowym zastosowaniem jest SETX <variable> "<value>" [-m].

  2. Dodaj następujący skrypt do folderu startowego - W7: "C:\Users\<username>\Start Menu\Programs\Startup"i 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%"
    

Uwaga: SETX zmienne są trwałe, ale są dostępne dopiero po uruchomieniu skryptu, więc użyj go, SETaby utworzyć zmienne tymczasowe w skrypcie. Używa również podwójnych cudzysłowów wokół wartości, dla której chcesz ustawić zmienną, na wypadek gdyby zawierała spacje, ale nie jest to konieczne SET. Zmienne maszynowe są ustawiane z -mopcją; zmienna użytkownika jest domyślna. Windows 7 ma o wiele więcej opcji i zastosowań /zamiast -.

Mark Mikofski
źródło
9

Istnieje duża szansa, że ​​wszystko, co zmienisz, zostanie przywrócone przy następnym dołączeniu do domeny (za pośrednictwem zasad grupy lub podobnych).

Czy zastanawiałeś się, czy nie zapytać pracowników IT Twojej firmy, czy mogą to dla Ciebie zmienić?

Być może stwórz lokalnego użytkownika na laptopie do użytku poza domeną, w ten sposób nie będziesz czekał na te powolne skróty, ani nie będziesz próbował obchodzić ustawień użytkownika domeny określonych przez firmę.

Ƭᴇcʜιᴇ007
źródło
3
To jest piękno systemu Windows. Nawet jeśli jesteś rootem, ktoś inny decyduje, co zrobi Twój system operacyjny.
Luigi R. Viggiano
9
Nie, to piękno pracy, w której dostarczają i kontrolują komputery. ALBO to piękno polegające na ujednoliceniu i centralnym zarządzaniu siecią pełną komputerów firmowych, na które użytkownicy próbują się włamać, ponieważ uważają, że to ich. System Windows nie ma nic wspólnego z szefem decydującym o sposobie korzystania z zasobów firmy (notebooka, sieci itp.). ;)
ᴇcʜιᴇ007
3
Nie, to piękno ekosystemu, który ułatwia małpom pozbawionym władzy grę Boga bez względu na to, czy wpływa to na produktywność.
nathanchere
2
Nie, jest to zdolność do efektywnego zarządzania setkami komputerów bez konieczności rujnowania wszystkiego przez użytkowników i jest to jeden z powodów, dla których nie wszędzie widać komputery stacjonarne z systemem Linux lub Mac. Nie każdy jest zaawansowanym użytkownikiem w prawdziwym świecie biznesu. Nie mówimy o sklepach z kodami.
Alan B
9

Mam podobny problem w moim środowisku korporacyjnym i opracowałem różne hacki i obejścia . Przy moim obecnym ustawieniu domena wymusza następujące wartości:

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

Jednak w przypadku mojego obejścia wynikowe mapowania są następujące:

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

Podczas gdy inne ścieżki / mapowania dysków przechodzą na serwer zdalny:

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

Zostały one przetestowane tylko w systemie Windows 7, ale wyobrażam sobie, że będą działać również w systemie Windows XP, jeśli masz narzędzie mklink.

Terrance
źródło
Dzieki za sugestie; na końcu udało mi się, że niektóre programy (takie jak aplikacje Java, mingw itp.) używają innego folderu domowego; Musiałem skonfigurować lub zhakować te aplikacje, aby je oszukać, ale zadziałało. Odszedłem teraz z firmy, więc nie mogę zweryfikować, czy twoje rozwiązanie dobrze pasuje do mojej sprawy, ale twoje hacki to rzeczy, które miałem nadzieję uzyskać, kiedy opublikowałem to pytanie.
Luigi R. Viggiano
8

Problem występuje z TortoiseGit podczas pracy poza biurem, gdy dysk sieciowy nie jest podłączony.

Zmiana HOME, HOMEPATHnie pomaga !!

Rozwiązanie:

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

Gdzie g:jest dysk sieciowy.

 

Rasty Slutsker
źródło
Koleś, jesteś moim bohaterem.
Chad Schouggins,
4

Są w zaawansowanych właściwościach systemu. W systemie Vista / Win 7:

  1. Kliknij prawym przyciskiem myszy „Mój komputer”
  2. Wybierz „Właściwości”
  3. Wybierz „Zaawansowane ustawienia systemu” (link po lewej stronie okna)
  4. Wybierz „Zaawansowane” (karta)
  5. Wybierz „Zmienne środowiskowe” (przycisk)

źródło
2
Dzięki, ale laptop ma system Windows XP (zaktualizowałem pytanie o ten szczegół). Te zmienne nie są widoczne ani edytowalne w ustawieniach systemu.
Luigi R. Viggiano
2
Niektóre z nich są po prostu obecne w środowisku dla informacji i są ustawione / przechowywane gdzie indziej. HOMEDRIVE / HOMEPATH to katalog domowy ustawiony w konfiguracji konta w „Użytkownicy i konta”. Spróbuj uruchomić „lusrmgr.msc” (lokalny menedżer użytkowników i grup). Za pomocą tego zarządza się niektórymi zaawansowanymi ustawieniami ścieżki.
1
Niestety mój użytkownik jest użytkownikiem domeny (nie lokalnym), więc nie ma go na liście użytkowników lokalnych i menedżera grupy.
Luigi R. Viggiano
1
Następnie trzeba go zmodyfikować na kontrolerze domeny, gdzie są przechowywane takie rzeczy dla kont domeny. Inną opcją jest użycie konta lokalnego z dostępem do plików konta domeny, gdy jesteś poza siedzibą
Dzięki, sprawdzę to (kontroler domeny). Znalezione na Wikipedii: en.wikipedia.org/wiki/Domain_controller
Luigi R. Viggiano
0

Wiem, że spóźniłem się na ten wątek, ale mam ten sam problem, gdy mój dział IT zmienił zasady grupy, a mój HOMEDRIVE stał się M: zamiast C: a HOMEPATH po prostu „\” podał „\ Users \ [nazwa użytkownika] „. Poszukałem kodu Gita i stwierdziłem, że używa kombinacji HOMEDRIVE / HOMEPATH tylko wtedy, gdy HOME nie jest zdefiniowane.

Właśnie zdefiniowałem DOM (który na szczęście nie był w GP) jako „C: \ Users \ [nazwa użytkownika]” i Git znalazł go .gitconfigponownie.

Janusz Szutkowski
źródło