Mój pracodawca ma zasady grupy Active Directory, które ustawiają mój laptop HOMEDRIVE dla Windows 7 na „M:” (zmapowany dysk sieciowy), a mój HOMEPATH na „\”. Ponieważ mam uprawnienia tylko do odczytu dla katalogu głównego tego udostępnionego dysku, nie mogę tworzyć plików ani katalogów w moim katalogu domowym systemu Windows. Moje próby współpracy z działem IT zakończyły się niepowodzeniem.
Czy istnieje sposób, abym mógł globalnie zmienić te envary podczas uruchamiania lub logowania? Potrzebuję, aby wszystkie aplikacje używały wartości alternatywnych (takich jak „C:” i „\ Users \ moja nazwa”). Mam zainstalowane narzędzia (takie jak gvim i inne), które przechowują pliki preferencji w katalogu domowym użytkownika.
WAŻNE : Zmiana tych envarów w „Właściwości systemu> Zmienne środowiskowe” nie działa . Próbowałem ustawić je jako zmienne użytkownika i systemowe (w tym ponowne uruchomienie). Wpisanie SET HOME
w oknie DOS wyraźnie pokazuje, że moje ustawienia są ignorowane. Również użycie „Rozpocznij w” w skrócie Windows również nie rozwiąże tego, ponieważ potrzebuję takich rzeczy, jak elementy menu kontekstowego Eksploratora (takie jak „Edytuj za pomocą Vima”), aby działać poprawnie.
Mam uprawnienia administratora do tego firmowego laptopa, ale nie jestem guru Win7. Wcześniej skrypt rozruchowy rozwiązałby to za chwilę. Czy to w ogóle możliwe dzisiaj? Dzięki.
Odpowiedzi:
Poniżej kilka opracowanych przeze mnie hacków. Nie są eleganckie, ale mogą działać w środowisku korporacyjnym.
Tylko HOMEDRIVE
Wygląda na to, że wiele aplikacji używa tylko HOMEDRIVE / HOMEPATH. W takim przypadku możesz utworzyć skrypt startowy, który odwzorowuje literę dysku podstawowego na ścieżkę lokalnego użytkownika za pomocą ścieżki administratora dysku UNC:
HOMEDRIVE Lokalne domyślne
Jeśli nie potrzebujesz w ogóle uzyskiwać dostępu do „Serwer”, możesz spowodować, że ustawienie zasad grupy nie powiedzie się i wróci na komputer lokalny. Najłatwiej to zrobić, dodając wpis do C: \ Windows \ System32 \ drivers \ etc \ hosts, takich jak:
Po ponownym uruchomieniu powinieneś zobaczyć coś takiego:
HOMEDRIVE / SHARE z hybrydowymi lokalnymi / zdalnymi ścieżkami UNC
Jeśli chcesz uzyskać dostęp do „Serwera” według nazwy dla niektórych ścieżek UNC, ale zastępujesz inne ścieżkami lokalnymi, opracowałem następującą obrzydliwość. Uwaga: bezpośrednie połączenia serwera z „Serwerem” nadal będą rozpoznawane na twoim komputerze lokalnym. Polecam to rozwiązanie tylko wtedy, gdy „Serwer” to tylko serwer plików:
Zmodyfikuj C: \ Windows \ System32 \ drivers \ etc \ hosts, aby przekierować „Serwer” na komputer lokalny:
Dodaj następującą wartość rejestru Multi-String do HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0, aby umożliwić przekazywanie poświadczeń do lokalnej ścieżki UNC:
Utwórz katalog zastępczy, który będzie służył jako katalog główny serwera:
Dla każdej ścieżki UNC, którą chcesz skierować do prawdziwego serwera:
Dla każdego udziału UNC, który chcesz zdefiniować lokalnie (takiego jak Użytkownicy):
Restart
Na przykład pozwoliłoby to na rozwiązanie następujących ścieżek UNC:
Ta rozdzielczość ścieżki powinna wystąpić przed mapowaniem dysku. Dopóki ścieżki UNC powiązane z odwzorowaniami są prawidłowe (lokalne lub zdalne), litery dysków powinny zachowywać się zgodnie z oczekiwaniami.
Na przykład w moim ustawieniu domena wymusza następujące zmienne:
Ale z powodu moich mapowań wynik jest następujący:
źródło
Najlepszym rozwiązaniem, jakie znalazłem, było ustawienie zmiennych podczas logowania i wcześniej
userinit.exe
.Oto co zrobiłem. Najpierw utworzono plik wsadowy
C:\Windows\System32\userinit.cmd
zawierającya następnie zmieniono wartość
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
naC:\Windows\System32\userinit.cmd
w rejestrze.Więcej informacji na: https://technet.microsoft.com/en-us/library/cc939862.aspx
źródło
Użyłem
SETX
w skrypcie startowym i to działało dla mnie. Zobacz moją odpowiedź .źródło
Myślę, że te ścieżki są automatycznie ustawiane w miejscu, w którym znajduje się Twój profil użytkownika. Dysk domowy, o którym mówisz, to miejsce, w którym znajdują się twoje dane ntuser.dat i aplikacji oraz inne foldery profilu użytkownika, prawda? W wersji NT3.x „profil użytkownika” był tylko gałęzią rejestru użytkowników z ustawieniami i dla każdego użytkownika można było ustawić osobną ścieżkę główną. Zostały one ujednolicone w NT4 jako profil użytkownika z pulpitem, moimi dokumentami, menu Start itp.
Lokalizacje wszystkich profili są przechowywane w kluczach rejestru pod
Znajdziesz kilka wartości dla profili specjalnych i podkluczy: po jednej dla każdego aktywnego profilu w systemie. Są one konfigurowane przez SID konta użytkownika, do którego należą. Najłatwiejszym sposobem na znalezienie twojego byłoby przewinięcie każdego z nich w poszukiwaniu właściwej ścieżki (pod
ProfileImagePath
wartością). Powinieneś być w stanie zmienić tę wartość na dowolną ścieżkę; wejdzie w życie przy następnym logowaniu. Najpierw skopiuj pliki do nowej ścieżki.Jeśli musisz przenieść profil z konta, na którym jesteś zalogowany (tj. Zalogowany jako MikeC i próbujesz skopiować profil dla MikeC), plik ntuser.dat (zawierający gałąź rejestru
HKEY_CURRENT_USER
) zostanie zablokowany przez jądro. Nadal możesz skopiować ul: przejdź do regedit, kliknij prawym przyciskiem myszyHKEY_CURRENT_USER
, wybierz eksport, zmień typ na rejestruj pliki gałęzi i zapisz jako ntuser.dat w nowej lokalizacji.Z mojego doświadczenia wynika, że jeśli winlogon ma problem z ładowaniem profilu, ponieważ coś jest źle skonfigurowane, albo utworzy nową kopię z profilu domyślnego, albo da tymczasową kopię do użycia dla tej sesji i nadal będziesz mógł się zalogować w. Jednak polecam, abyś miał inny login administratora do użycia w systemie na wypadek, gdyby coś poszło nie tak.
źródło
Zamieszczam to na wypadek, gdyby ktokolwiek zadał to pytanie za pośrednictwem Google. Zamiast zmieniać mój katalog domowy i denerwować mnie facetami z IS, skonfigurowałem i uruchomiłem programowanie na maszynie wirtualnej. Microsoft oferuje Widows XP w trybie wirtualnym. http://www.microsoft.com/windows/virtual-pc/download.aspx
źródło
Nieco łatwiejszą alternatywą byłoby uruchomienie poniższego skryptu (env-reset.vbs) jako zaplanowanego zadania podczas logowania, odblokowywania, a może także co kilka minut.
źródło