2009-08-24 22:53:16 +0000 2009-08-24 22:53:16 +0000
183
183

Jak sprawić, aby mapowanie SUBST było trwałe po restarcie?

Czy Windows (XP lub nowszy) ma wbudowany sposób na tworzenie trwałych map dysków, takich jak te, które tworzy SUBST? Znalazłem narzędzie innej firmy psubst . Czy jest jakiś sposób, aby to zrobić bez narzędzi innych firm?

Odpowiedzi (8)

156
156
156
2009-08-24 23:04:22 +0000

Cóż Wikipedia wspomina :

C:\>SUBST /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

drive1: Specifies a virtual drive to which you want to assign a path.
[drive2:]path Specifies a physical drive and path you want to assign to
a virtual drive.
/D Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

Więc możesz powiązać ścieżki z literami dysków używając subst. Program Persistent SUBST command (psubst) wydaje się być bardzo przydatny, a oni dostarczają rozwiązanie do uruchamiania go ze startu: https://code.google.com/p/psubst/#Inconstancy

Niestałość

Jednak ponowne uruchomienie systemu niszczy dysk wirtualny. Co robić? Dysk może być utworzony po uruchomieniu systemu. Ale co zrobić, kiedy dysk jest potrzebny na wczesnych etapach startu? Na przykład, aby uruchomić usługi? Istnieje funkcja systemowa pozwalająca na uruchomienie wirtualnego dysku z poziomu rejestru systemowego:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\??\C:\Documents and Settings\All Users\Shared Documents"

Wystarczy utworzyć plik tekstowy z rozszerzeniem .REG i uruchomić go. Przy kolejnym uruchomieniu systemu, wirtualny dysk będzie istniał przy logowaniu. Należy zdefiniować nazwę dysku i ścieżkę dostępu. Należy pamiętać, że każdy odwrotny ukośnik w ścieżce jest podwajany.

W systemie Windows, możesz uruchomić edytor rejestru w następujący sposób:

  1. Uruchom “ Uruchom… (lub naciśnij Win+R)
  2. Wpisz: regedit
  3. W systemie Windows Vista i wyżej, pojawi się UAC, kliknij "Yes”.
80
80
80
2012-02-24 17:38:22 +0000

Zainstalowanie go w HKEY_CURRENT_USER ma tę zaletę, że każdy użytkownik może mieć inną konfigurację. Ja wolę trzymać się ustawień dla przestrzeni użytkownika tak długo, jak długo usługa systemowa nie zależy od urządzenia.

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"F Drive"="subst F: D:\mount\db"
"G Drive"="subst G: D:\mount\log"

Źródło: http://networkadminkb.com/KB/a446/how-to-use-drive-letters-mount-points-the-same-disk-drive.aspx

46
46
46
2009-08-24 23:08:49 +0000

Odpowiedź znajduje się na stronie, do której się odwołałeś. Nie potrzebujesz narzędzia innej firmy, możesz to zrobić za pomocą prostego wpisu w rejestrze, jak opisano na tej stronie.

Utwórz plik tekstowy o nazwie ‘mapdrive.reg’ o następującej zawartości:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\??\C:\Documents and Settings\All Users\Shared Documents"

Następnie powinieneś być w stanie po prostu dwukrotnie kliknąć na nim, aby skonfigurować, bez potrzeby korzystania z narzędzi innych firm.

28
28
28
2011-01-11 23:34:33 +0000

Znalazłem to, ponieważ szukałem ulepszenia w stosunku do moich skryptów substytutów startowych - działały OK, ale czasami wykonywane po folderach rozbijały się podczas uruchamiania, ponieważ mój dysk nie był jeszcze zmapowany.

Najpierw edytowałem rejestr, ale nie byłem w stanie sprawić, by to zadziałało. Natknąłem się jednak na tę alternatywę, która mimo że nie używa subst, odpowiada na pytanie: “Jak sprawić, by mapowanie SUBST było trwałe po każdym restarcie?”. Nie używaj subst… (wstaw odpowiednie ‘computerName’ i ‘pathName’):

net use u: "\computerName\c$\pathName" /persistent:yes

Zaadaptowałem to z sugestii Hanka Arnolda w ta dyskusja o mapowaniu dysków lokalnych . Domyślałem się, że \u0026apos; ale nie wiedziałem, jak zastosować $.

Zanim spróbujesz komendy “net use”, spróbuj przejść do

\computerName\c$

aby upewnić się, że ‘computerName’ jest prawidłowe.

8
8
8
2009-08-24 23:02:00 +0000

Wrzuć plik wsadowy do folderu Startup, który wykonuje wszystkie SUBSTANCJE, które chcesz wykonać.

5
5
5
2015-06-11 00:29:36 +0000

Ponieważ oryginalny PSubst ma pewne ograniczenia i wydaje się być zakończony przez autora, musiałem zakodować nową wersję dla moich potrzeb, naprawiając niektóre problemy i dodając funkcjonalność i elastyczność.

Sprawdź tutaj dla PSubst wersja 3 plik wsadowy https://github.com/cyberponk/psubst

Kompatybilny z Windows 7, Windows 8, Windows 10, Windows Server 2012

Uwaga: Ta praca nie ma zamiaru zdegradować oryginalnego autora i powstała tylko z powodu rzeczywistej konieczności, jak poniżej:

  • Jako newtork admin mam ciągłą potrzebę SUBSTANCJONOWANIA dysków sieciowych i bawienia się z różnymi użytkownikami sieci.

  • Ponieważ nie każdy jest ekspertem w dziedzinie Windows, uznałem, że automatyczne podnoszenie administratora z obsługą błędów będzie pomocne, bazując na komentarzach, które przeczytałem w sieci.

  • Ponieważ niektórzy ludzie zmagali się z kolejnością argumentów, doszedłem do wniosku, że najlepiej będzie, jeśli skrypt będzie działał z argumentami w dowolnej kolejności.

Nie jestem w stanie przypomnieć sobie każdej dodanej funkcjonalności, ale każde dodanie było zrobione z czystej konieczności. Dzielę się kodem, aby inni nie mieli takich problemów jak ja. Nie ma w tym żadnej innej intencji niż dzielenie się i pomoc.

2
2
2
2019-08-27 01:09:25 +0000

Rozszerzam odpowiedź davr'a ponieważ wszelkie pliki, które są usuwane z mapowanego dysku są trwale usuwane zamiast trafiać do Kosza. Ten plik REG jest oparty na informacji zebranych z tego artykułu TechNet , który omawia jak włączyć Kosz. Przykład mapuje wirutalny dysk Q do folderu “OneDrive - Test” i włącza Kosz na dysku Q. Zmień ścieżki i nazwy, aby dostosować je do swojej sytuacji.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"Q:"="\??\C:\Users\Tony\OneDrive - Test"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"RelativePath"="Q:\"
"Category"=dword:00000004
"Name"="Q_Mapped_OneDrive"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"MaxCapacity"=dword:0000c7eb
"NukeOnDelete"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"RelativePath"="Q:\"
"Category"=dword:00000004
"Name"="Q_Mapped_OneDrive"

[HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\{9147E464-33A6-48E2-A3C9-361EFD417DEF}]
"MaxCapacity"=dword:0000c7eb
"NukeOnDelete"=dword:00000000

Jeśli masz tylko jeden taki zmapowany dysk, to możesz zrezygnować z GUID {9147E464-33A6-48E2-A3C9-361EFD417DEF}. Jeśli masz wiele zmapowanych dysków, to każdy z nich powinien być dopasowany do identyfikatora GUID z Twojego ulubionego generatora GUID.

1
1
1
2019-11-02 18:16:15 +0000

Oto dwa przykłady użycia reg.exe do dodania wymaganego wpisu do podklucza rejestru Run w ulu HKEY_CURRENT_USER. Te przykłady mogą być dostosowane w zależności od potrzeb. Otwórz niepodświetlone okno cmd jako bieżący użytkownik i wklej dostosowaną linię.

Najprostszy przypadek użycia:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Map I" /t REG_SZ /d "subst I: \"C:\path\to\folder\"" /f

Gdzie argument ścieżka SUBST ma wbudowaną zmienną środowiskową:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Map J" /t REG_EXPAND_SZ /d "subst J: \"^%DROPBOX_HOME^%\Notes\"" /f

Zauważ, że w drugim przykładzie występują dwie partie ucieczki znaków. Odwrotne ukośniki dla wewnętrznych cudzysłowów otaczających argument ścieżka, oraz dewizy dla znaków procentowych zmiennej środowiskowej. Podwójne cudzysłowy nie zawsze są wymagane, ale aby uniknąć problemów z nazwami folderów zawierającymi spacje, zaleca się ich używanie.