Frage Wie kann das SUBST-Mapping während Neustarts persistent gemacht werden?


Verfügt Windows (XP oder höher) über eine integrierte Möglichkeit zum Erstellen persistierender Laufwerkszuordnungen, wie sie von SUBST erstellt werden? Ich habe ein Drittanbieter-Tool gefunden psubst. Gibt es eine Möglichkeit, dies ohne Drittanbieter-Tools zu tun?


155
2017-08-24 22:53


Ursprung


Wahrscheinlich würde das Programm sonst nicht benötigt ... - Ivo Flipse♦
Es ist möglich, weil psubst ist nur eine .bat-Datei, die mit der Registrierung muckt. Weitere Informationen finden Sie unter @ davrs Antwort. - Scott Stafford
Vorbehalt aus dem Wikipedia-Artikel in der angenommenen Antwort: "Ab Windows Vista werden gelöschte Dateien sofort dauerhaft gelöscht und nicht in den "Papierkorb" verschoben. Vor Windows Vista (beispielsweise in Windows XP) wurden Dateien von ersetzten "Festplatten" beim Löschen in den Papierkorb verschoben." - JMD
@IvoFlipse, das ist im Allgemeinen eine gute Annahme, aber in diesem Fall ist es einfach falsch. Das '3rd Party Tool' ist eine 150-Zeilen-Batch-Datei, die einen netten CLI zum Ändern einer Registry und zur Bereinigung von Eingaben bietet subst's wählerische Schrägstrich-Regeln, aber es ist nur ein hübscher Wrapper. Sie können es ohne ein Programm und die README für tun psubst erklärt wie. Oder, sehen Sie Davrs Antwort unten wo er die psubst README zitiert. - alexanderbird


Antworten:


Gut Wikipedia erwähnt:

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.

So können Sie Pfade mit Laufwerksbuchstaben verknüpfen subst. Das Persistenter SUBST-Befehl (psubst) Software scheint praktisch zu sein, und sie bieten eine Lösung, um es vom Start weg zu laufen:

https://code.google.com/p/psubst/#Inconstancy

Unbeständigkeit

Der Neustart eines Systems zerstört jedoch eine virtuelle Festplatte. Was ist zu tun? EIN   Festplatte kann nach dem Start erstellt werden. Aber was zu tun ist, wenn eine Festplatte ist   benötigt für die ersten Schritte eines Startups? Zum Beispiel, um Dienste auszuführen?   Es gibt eine Systemfunktion, um eine virtuelle Festplatte vom System zu starten   Registrierung:

REGEDIT4 

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

Es genügt, eine Textdatei mit der Erweiterung zu erstellen .REG und Renn   es. Beim nächsten Start eines Systems wird die virtuelle Festplatte sein   existieren bei der Anmeldung. Es muss einen Namen für Datenträger und Pfad definieren. Beachten Sie, dass   Jeder umgekehrte Schrägstrich im Pfad wird verdoppelt.

In Windows können Sie den Registrierungseditor wie folgt ausführen:

  1. Starte den Lauf... (oder drücken Sieg+R)
  2. Art: regedit
  3. Unter Windows Vista und höher wird UAC angezeigt, klicken Sie auf "Ja".

132
2017-08-24 23:04



Schön zu wissen, obwohl ich nicht benutze subst nicht mehr. Aber damals, als ich es tat, hatte ich einfach eine Batch-Datei in meinem Autostart-Ordner, die diese Dinge tat. - Joey
Das ist fantastisch. (Es erfordert einen Neustart, FYI.) Unser Quelltextbaum muss von einem bestimmten Laufwerksbuchstaben ausgehen, damit unsere PDBs immer auf verschiedenen Computern ausgerichtet sind. Diese Registry-Einstellung löst eine Belästigung, die ich seit Jahren mit einer Subst-Diskette habe, die nicht mit Runas da ist, was ein großer Ärger ist, wenn Sie Visual Studio (selten) unter einem Admin-Account ausführen müssen. - Brian Reiter
Joey: Diese Lösung scheint unter Windows 7 nicht zu funktionieren. Wenn eine Anwendung mit Administratorrechten ausgeführt wird, ist das ersetzte Laufwerk für die Anwendung nicht sichtbar. - Dave Jarvis
Danke für die Lösung. Zu Ihrer Information: Wenn Sie die Variable interaktiv in RegEdit eingeben, verdoppeln Sie nicht die umgekehrten Schrägstriche. Erstellen Sie also eine neue Zeichenfolgenvariable mit dem Namen "Z:" (ohne Anführungszeichen), und legen Sie den Wert auf die oben angezeigte Zeichenfolge außer mit einfachen umgekehrten Schrägstrichen fest. - Crispy
@Des Teufels Anwalt, \?? ist ein virtuelles Verzeichnis im Namespace des NT-Objektmanagers. Zuerst überprüft es die Anmeldesitzung DOS 'Geräte' (wirklich DOS-Geräte sind symbolische Links zu NT-Geräten, normalerweise in \Device) und dann die \Global?? DOS-Geräte. In WinObj finden Sie die Anmeldesitzungsgeräte in \Sessions\0\DosDevices\[logon ID]. Beachten Sie, dass alle Anmeldesitzungsgeräte in Sitzung 0 (Dienste) für jede LSA-Anmelde-ID protokolliert werden. Sie sind nicht mit Desktopsitzungen korreliert. Wenn Sie ein Laufwerk als eingeschränkten Administrator zuordnen, ist es daher nicht vorhanden, wenn es erhöht ist. Es ist eine andere Anmeldung. - eryksun


Installieren Sie es bei HKEY_CURRENT_USER hat den Vorteil, unterschiedliche Setups für jeden Benutzer zu haben. Ich bevorzuge es, die Benutzerraumeinstellung beizubehalten, solange eine Systemdienstdosis nicht vom Gerät abhängt.

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

Quelle: http://networkadminkb.com/KB/a446/how-to-use-drive-letters-mount-points-the-same-disk-drive.aspx


71
2018-02-24 17:38



+1 Zeigt, wie mehrere Zuordnungen in einer reg-Datei vorgenommen werden. :-) - megaflop
+1 für die Leichtigkeit dieses und erklären, warum HKEY_CURRENT_USER. :) - CAD bloke
+1, um eine sehr elegante Möglichkeit zu zeigen, es automatisch ohne einen Stapel im Autostart-Ordner zu machen - dkellner
Kann dies auch von der Kommandozeile (seit XP / Windows 2000 Server) tun: reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "F Drive" /d "subst F: D:\x\db"  NB \ braucht nur hier zu entkommen, wenn es das letzte Zeichen des Subst-Befehls ist, z.B. wenn das Ziel das Stammverzeichnis ist: "subst F: D:\\"; ein einziges würde als das Entkommen des folgenden verstanden werden. - stevek_mcc


Hast du die Seite gelesen, mit der du verlinkt hast? Sie benötigen das Third-Party-Tool nicht, Sie können es mit einem einfachen Registrierungseintrag tun, wie auf dieser Seite beschrieben.

Erstellen Sie eine Textdatei namens 'mapdrive.reg' mit diesen Inhalten:

REGEDIT4 

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

Dann sollte nur in der Lage sein, darauf zu klicken, um einzurichten, keine Drittanbieter-Tools benötigt.


40
2017-08-24 23:08



Der Vorteil des Reg-Schlüssels gegenüber der Batch-Datei besteht darin, dass das Subst-Laufwerk vor jedem anderen Startbefehl aktiviert wird, falls einige davon das Subst-Laufwerk benötigen - davr
@Ivo: Ich würde es eine gesunde Angst vor dem Unbekannten nennen;) - Isxek
Wenn Sie dies in regedit tun, stellen Sie sicher, dass Sie einzelne Backslashes verwenden. z.B. \ ?? \ C: \ Irgendein \ Verzeichnis - Droj


Ich fand das, weil ich nach einer Verbesserung meiner Startup-Subst-Skripte suchte - sie funktionierten OK, wurden aber manchmal ausgeführt, nachdem Ordner beim Start abgestürzt waren, weil mein Laufwerk noch nicht zugeordnet war.

Zuerst habe ich die Registrierung bearbeitet, konnte sie aber nicht ausführen. Allerdings stieß ich auf diese Alternative, die, obwohl sie subst nicht verwendet, für mich die Frage beantwortet: "Wie kann das SUBST-Mapping während Neustarts persistent gemacht werden?" Verwenden Sie subst ... nicht (fügen Sie die entsprechenden 'Computername' und 'Pfadname' ein):

net verwenden Sie u: "\\ Computername \ C $ \ Pfadname" / persistent: ja

Ich habe das aus Hank Arnolds Vorschlag übernommen diese Diskussion der Zuordnung lokaler Laufwerke. Ich hatte vermutet, dass \\ myComputerName \ c funktioniert, aber ich wusste nicht, das $ anzuwenden.

Bevor Sie den Befehl "net use" versuchen, versuchen Sie, zu navigieren

\\ Computername \ C $
 um sicherzustellen, dass "Computername" korrekt ist.


20
2018-01-11 23:34



Ausgezeichnete Lösung, wenn auch mit zwei Problemen: 1) es ist nicht sichtbar für das lokale Dateisystem, 2) Berechtigungen ... - ashes999
wenn du benutzt \\localhost\c$\path\to\thing Es ist portabel zwischen Computern (oder Upgrades, die den Computernamen ändern). Ein Nachteil der Verwendung eines zugeordneten Laufwerks unter Win7 + besteht darin, dass für Netzwerklaufwerke andere Sicherheitsrichtlinien gelten als für lokale Laufwerke. Einige Programme verweigern die Ausführung eines zugeordneten Laufwerks. - matt wilkie
Es ist für das Dateisystem sichtbar und für das lokale Dateisystem sichtbar - es ist als Netzlaufwerk gekennzeichnet, genau wie einige Laufwerke als entfernbare Laufwerke markiert sind. Das macht solche Laufwerke nicht zu einem Teil des lokalen Dateisystems oder ist für dieses nicht sichtbar - es macht sie zu Netzwerk- / Wechsellaufwerken im lokalen Dateisystem. - user165568
Beim Testen habe ich für ein Performance-Problem (vor ein paar Jahren wieder) mit dem (lokal) gemounteten Netzlaufwerk auch langsamer gearbeitet als das Dateisystem (oder subst etc.) direkt zu benutzen. Dies ist kein großer Unterschied für kleine Dateien oder gelegentliche Verwendung - nicht wie das tatsächliche Netzwerk zu einem anderen "Server" gehen - aber es ist von Bedeutung. - HerbM


Legen Sie eine Stapeldatei in Ihrem Autostart-Ordner ab, der alle von Ihnen gewünschten Substs ausführt.


7
2017-08-24 23:02





Da das ursprüngliche PSubst einige Einschränkungen hat und vom Autor geschlossen zu sein scheint, musste ich eine neue Version für meine Bedürfnisse programmieren, einige Probleme beheben und Funktionalität und Flexibilität hinzufügen.

Überprüfen Sie hier die PSubst Version 3 Batch-Datei

https://github.com/cyberponk/psubst

Kompatibel mit Windows 7, Windows 8, Windows 10, Windows Server 2012

Hinweis: Diese Arbeit hat nicht die Absicht, den ursprünglichen Autor zu demontieren und entstand nur aufgrund der wirklichen Notwendigkeit, wie folgt:

  • Als Newtork-Administrator bin ich ständig gezwungen, Netzlaufwerke zu SUBSTEN und mit verschiedenen Netzwerkbenutzern zu spielen.

  • Da nicht jeder ein Windows-Experte ist, dachte ich, dass die automatische Admin-Elevation mit Fehlerbehandlung helfen würde, basierend auf den Kommentaren, die ich im Web gelesen habe.

  • Da einige Leute mit der Argumentreihenfolge zu kämpfen hatten, dachte ich, es wäre am besten, wenn das Skript mit Argumenten in beliebiger Reihenfolge arbeiten würde.

Ich kann mich nicht an jede hinzugefügte Funktionalität erinnern, aber jede Aufnahme wurde rein durch die Notwendigkeit gemacht. Ich teile den Code, damit andere nicht auf die Probleme stoßen, die ich hatte. Dadurch gibt es keine andere Absicht als Teilen und Helfen.


5
2018-06-11 00:29



Bitte sag "A" "B". Du hast siac, dass das Original psubst hat eine Menge Probleme - bitte zeigen Sie auf sie, wenn sie sind. Auf der anderen Seite wird Psubst nicht aufgegeben. Es ist nur die Grenze seiner Entwicklung erreicht. Das ursprüngliche Werkzeug folgt einer sehr einfachen Philosophie: etwas tun und gut machen. Es ist nicht überladen mit zusätzlichen Funktionen wie die Handhabung mit UAC und die Erstellung von zusätzlichen VBS-Code für etwas mehr. Eine Sache kann gegenüber dem ursprünglichen Code getan werden - einige kosmetische Änderungen, um den Code zu vereinfachen und die Lesbarkeit zu verbessern. - jsxt
Editiert, bitte überprüfen. UAC und VBS ist für automatische Admin-Erhöhung. Ich stimme dem Kommentar "Limit of development" nicht zu, da alle Änderungen, die ich vorgenommen habe, die Verwendung noch einfacher und einfacher machen sollten, nachdem ich auf einige Probleme mit PSUBST gestoßen bin. Ich beabsichtige nicht, den ursprünglichen Autor zu kritisieren, daher werde ich keine Probleme aufzählen, sondern stattdessen Lösungen schaffen. Ich habe sogar vorgeschlagen, meine Editionen im originalen GitHub-Zweig hinzuzufügen, wurde aber abgelehnt, also musste ich meinen eigenen Zweig erstellen. - cyberponk
Vielen Dank für Ihr schnelles und detailliertes Feedback. Höchstwahrscheinlich muss ich näher auf deine Entwicklung schauen. - jsxt
Mein Hut ist zu dir hin; Ich habe meine Zeit in den Batch-Scripting-Gräben verbracht und weiß, wie schmerzhaft es ist. Dieser Code sieht ziemlich gut aus. - SilverbackNet


Tatsächlich verbindet das PSUBST-Tool zwei verschiedene Arten der Erstellung von Ersatzlaufwerken in Windows. Wenn Sie permanente Laufwerke zwischen Startups haben möchten, können Sie dieses Tool einmal pro Laufwerk ausführen, das Sie benötigen. Ein anderer Weg ist die von "davr" vorgeschlagene Methode. Das PSUBST-Tool macht dasselbe, erlaubt es aber, es einfacher zu machen.


2
2017-09-23 18:20





ich mag Visuelles Subst

Macht die Dinge leicht


0
2017-12-14 11:09