Subst-Befehl von DOS für WinXp ausführen
Tom
- sonstiges
0 Robert0 Vinzenz Mai0 Der Martin
Hello,
ich möchte, dass WinXP beim Systemstart
subst U: "C:\Dokumente und Einstellungen\Schmieder"
ausführt.
Wird die autoexec.bat überhaupt nicht mehr ausgeführt beim Start?
Welche Batchdatei kann ich nutzen?
Sollte ich lieber den Aufruf der jeweiligen Batch in die autostart eintragen?
Ein harzliches Glückauf
Tom vom Berg
Hi,
ich möchte, dass WinXP beim Systemstart
Dafür gibts den Autostart:
Taskleiste->Start->Programme->Autostart
Jede Auszuführende Datei wird in diesem Ordner beim Start ausgeführt.
Hallo Tom,
Wird die autoexec.bat überhaupt nicht mehr ausgeführt beim Start?
Nein. Schon seit 15 Jahren nicht mehr (NT und Nachfolger).
Sollte ich lieber den Aufruf der jeweiligen Batch in die autostart eintragen?
Ja. Abgesehen davon ist SUBST.EXE von Windows XP eine 32-Bit-Windows-Konsolenanwendung.
Freundliche Grüße
Vinzenz
Hello,
Wird die autoexec.bat überhaupt nicht mehr ausgeführt beim Start?
Nein. Schon seit 15 Jahren nicht mehr (NT und Nachfolger).
Was ist mit der autoexec.syd?
Wofür ist die da?
Sollte ich lieber den Aufruf der jeweiligen Batch in die autostart eintragen?
Ja. Abgesehen davon ist SUBST.EXE von Windows XP eine 32-Bit-Windows-Konsolenanwendung.
Windows ist doch ein DOS. *gg* Ohne D kommt das OS nicht so richtig in Schwung. ;-)
Ein harzliches Glückauf
Tom vom Berg
Hi,
Was ist mit der autoexec.syd?
Wofür ist die da?
Kann ich dir nicht mit bestimmtheit sagen, aber unter Laufwerken
sprich: A:,B:,C:,D:,... egal welcher art funktioniert autoexec.bat noch,
warscheinlich ist das dafür zuständig.
Hallo,
ich möchte, dass WinXP beim Systemstart
subst U: "C:\Dokumente und Einstellungen\Schmieder"
ausführt.
prima, dann mach das doch. ;-)
Wird die autoexec.bat überhaupt nicht mehr ausgeführt beim Start?
Soweit ich weiß, wird sie zwar geparst, es werden aber nur noch die set-Anweisungen ausgeführt (also nur Umgebungsvariablen gesetzt).
Welche Batchdatei kann ich nutzen?
Du brauchst keine Batchdatei.
Du kannst den subst-Aufruf in die Autostart-Gruppe packen; dann hast du aber den Nachteil, dass er erst ausgeführt wird, wenn der Explorer den Desktop schon fast fertig initialisiert hat (also seeehr spät im Boot-Ablauf).
Alternativ kannst du diesen Aufruf auch als "Script" beim Starten des Computers ausführen lassen (gpedit.msc starten, Computerkonfiguration/Windows-Einstellungen/Scripts (Start/Herunterfahren) auswählen). Dann wird dein "subst" sogar noch vor der Benutzeranmeldung ausgeführt.
So long,
Martin
Hi,
Du kannst den subst-Aufruf in die Autostart-Gruppe packen; dann hast du aber den Nachteil, dass er erst ausgeführt wird, wenn der Explorer den Desktop schon fast fertig initialisiert hat (also seeehr spät im Boot-Ablauf).
Das ist bei der anderen möglichkeit ebendso.
mfg Robert
Hallo,
Du kannst den subst-Aufruf in die Autostart-Gruppe packen; dann hast du aber den Nachteil, dass er erst ausgeführt wird, wenn der Explorer den Desktop schon fast fertig initialisiert hat (also seeehr spät im Boot-Ablauf).
Das ist bei der anderen möglichkeit ebendso.
nein, wenn ich einen Vorgang über ein Start-Script in den Computer- und Gruppenrichtlinien einbinde, wird dieser Vorgang tatsächlich *vor* der Benutzeranmeldung durchgeführt[*]. Er läuft dann mit den Rechten des Betriebssystems selbst.
Ich lasse beispielsweise mit dieser Methode immer das Temp-Verzeichnis und den IE-Cache löschen, noch bevor ein Benutzer die Gelegenheit hat, sich anzumelden (womit vor allem die index.dat-Dateien im IE-Cache dann gesperrt wären).
Der Einwand von Harlequin mag für XP stimmen; unter Windows 2000 habe ich's mit dem subst selbst probiert - geht.
So long,
Martin
[*] Ja, der Policy-Editor bietet *auch* die Möglichkeit, benutzerabhängig erst beim An- oder Abmelden bestimmte Aktionen auszuführen. Vielleicht hast du das gemeint?
Yerf!
Der Einwand von Harlequin mag für XP stimmen; unter Windows 2000 habe ich's mit dem subst selbst probiert - geht.
Ja, das Problem tritt erst ab XP oder neuer auf. Gemerkt hab ichs dadurch, dass ich im IIS keine virtuellen Verzeichnisse auf gesubstete Laufwerke legen konnte (der läuft ja mit der Benutzerkennung Netzwerkdienst). Das gleiche gilt übrigens für verbundene Netzwerklaufwerke.
Gruß,
Harlequin
Yerf!
Dann wird dein "subst" sogar noch vor der Benutzeranmeldung ausgeführt.
Das könnte Probleme geben, da der subst ab XP benutzerabhängig durchgeführt wird. Damit existiert in dem Fall der Laufwerksbuchstabe nur für den Benutzer unter dem die Initialisierung durchgeführt wird und nicht für denjenigen, der sich danach anmeldet.
Gruß,
Harlequin
Hello,
Dann wird dein "subst" sogar noch vor der Benutzeranmeldung ausgeführt.
Das könnte Probleme geben, da der subst ab XP benutzerabhängig durchgeführt wird. Damit existiert in dem Fall der Laufwerksbuchstabe nur für den Benutzer unter dem die Initialisierung durchgeführt wird und nicht für denjenigen, der sich danach anmeldet.
Das ist auch so gewünscht, dass er benutzerabhängig durchgeführt wird.
Allerdings muss ich sicherstellen, _dass_ er durchgeführt wird, wenn keine Netzwerkverbindung besteht.
Ein harzliches Glückauf
Tom vom Berg
Yerf!
Das ist auch so gewünscht, dass er benutzerabhängig durchgeführt wird.
Allerdings muss ich sicherstellen, _dass_ er durchgeführt wird, wenn keine Netzwerkverbindung besteht.
Hm, evtl. über den Registry-Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Das was da drin steht wird für jeden User nach dem Login ausgeführt. Wenn es nur für einen bestimmten User sein soll, dann kann man das auch in seiner User-Registry eintragen. Da unterscheidet sich dann nur der erste Eintrag (HKEY_CURRENT_USER... falls der User gerade eingelogt ist)
Die Bedingung "nur wenn kein Netz besteht" lässt sich evtl. mit etwas Batch-Programmierung (if exist) einbauen.
Gruß,
Harlequin
Hello,
Das ist auch so gewünscht, dass er benutzerabhängig durchgeführt wird.
Allerdings muss ich sicherstellen, _dass_ er durchgeführt wird, wenn keine Netzwerkverbindung besteht.Hm, evtl. über den Registry-Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Genau so muss es wohl mit poledit unter Win98 einstellbar gewesen sein.
Ich erinnere mich so langsam wieder.
Die Bedingung "nur wenn kein Netz besteht" lässt sich evtl. mit etwas Batch-Programmierung (if exist) einbauen.
Das hatte ich auch schon überlegt
if exist Laufwerk:\nul
aber das ist soch nicht DOS/WinsShell, oder?
Ich werde mich mal durchquälen: http://www.ss64.com/nt/
Ein harzliches Glückauf
Tom vom Berg
Yerf!
Das hatte ich auch schon überlegt
if exist Laufwerk:\nul
aber das ist soch nicht DOS/WinsShell, oder?
doch...
übrigens, was das "man" des unix ist das "help" des dos...
help if
gibt einiges her, was damit möglich ist
Gruß,
Harlequin
Hello,
übrigens, was das "man" des unix ist das "help" des dos...
help if
gibt einiges her, was damit möglich ist
Hab ich mir doch schon angeguckt.
Die Bits in DOS kenne ich noch alle persönlich und die Konsole der Windows' verhält sich glücklicherweise nicht so sehr unterschiedlich, auch wenn sie innen drin vermutlich ziemlich umgekrempelt worden ist.
Ein harzliches Glückauf
Tom vom Berg
[latex]Mae govannen![/latex]
Alternativ kannst du diesen Aufruf auch als "Script" beim Starten des Computers ausführen lassen (gpedit.msc starten,
»"gpedit.msc" konnte nicht gefunden werden Stellen sie sicher .. bla bla bla ..«
Scheiß "Home" :(
Cü,
Kai
Hello,
»"gpedit.msc" konnte nicht gefunden werden Stellen sie sicher .. bla bla bla ..«
Scheiß "Home" :(
Der musste mWn schon immer extra installiert werden aus dem Tools-Verzeichnis der Installations-CDs.
Zum Glück habe ich die mitgenommen.
Ein harzliches Glückauf
Tom vom Berg
Hello Martin,
ich möchte, dass WinXP beim Systemstart
subst U: "C:\Dokumente und Einstellungen\Schmieder"
ausführt.prima, dann mach das doch. ;-)
Wird die autoexec.bat überhaupt nicht mehr ausgeführt beim Start?
Soweit ich weiß, wird sie zwar geparst, es werden aber nur noch die set-Anweisungen ausgeführt (also nur Umgebungsvariablen gesetzt).
Ok, dann lassen wir die weg. Die wäre ja dann auch sowieso nicht benutzerabhängig.
U: soll für jeden, der sich auf dem Host anmeldet, auf sein gesichertes Home-Dir "mapped" werden.
Welche Batchdatei kann ich nutzen?
Du brauchst keine Batchdatei.
Das ist prima!
Du kannst den subst-Aufruf in die Autostart-Gruppe packen; dann hast du aber den Nachteil, dass er erst ausgeführt wird, wenn der Explorer den Desktop schon fast fertig initialisiert hat (also seeehr spät im Boot-Ablauf).
Das ist zu spät. Darum hatte ich eigentlich gefragt, wo ich es noch unterbringen könnte.
Alternativ kannst du diesen Aufruf auch als "Script" beim Starten des Computers ausführen lassen (gpedit.msc starten, Computerkonfiguration/Windows-Einstellungen/Scripts (Start/Herunterfahren) auswählen). Dann wird dein "subst" sogar noch vor der Benutzeranmeldung ausgeführt.
Es sollte vom Benutzer abhängig gemacht werden können, damit jeder sein eigenes Home-Dir auf U: bekommen kann.
Es ist ja ohnehin nur eine Krücke, die solange benutzt wird, bis mein VPN auch hier funktioniert.
Um das nochmals klar zu unterscheiden von "Eigene Dateien", die Windows ja selber für jeden User verwaltet:
Es handelt sich um zwei fette Sicherungsplatten in dem Gerät, auf denen sonst täglich der File-Server "gespiegelt" wird und mit denen ich jetzt erstmal direkt arbeiten muss, bis ich eine VPN-Verbindung eingerichtet habe.
Bleibt noch eine Frage:
Wenn man SUBST benutzt, überschreibt das temporär die Netzwerkverbindung. Das finde ich recht angenehm, denn ich muss sie dann nicht vorher lösen. Wie kann ich den SUBST-Befehl nun noch davon abhängig machen davon, ob Netzerkverbinduung besteht oder nicht, also das Bestehen der Netzwerkverbindung abfragen?
Das würde für alle Laufwerksbuchstaben zusammen gemacht werden, damit es nachher kein Kuddelmuddel mit der Datenkonsistenz gibt. Das Synchronisationstool erkennt aber, von wo nach wo "gespiegelt" werden muss.
Ein harzliches Glückauf
Tom vom Berg
Hallo
U: soll für jeden, der sich auf dem Host anmeldet, auf sein gesichertes Home-Dir "mapped" werden.
Du kannst den subst-Aufruf in die Autostart-Gruppe packen; dann hast du aber den Nachteil, dass er erst ausgeführt wird, wenn der Explorer den Desktop schon fast fertig initialisiert hat (also seeehr spät im Boot-Ablauf).
Das ist zu spät. Darum hatte ich eigentlich gefragt, wo ich es noch unterbringen könnte.
Wo hattest Du diese Nebenbedingung angesprochen? Jedenfalls nicht im Ausgangsposting. Warum nicht? Wenn es benutzerabhängig sein soll, dann kann es sowieso erst ausgeführt werden, wenn der Benutzer bekannt ist, d.h. *nach* der Anmeldung. Und warum ist es zum angegebenen Zeitpunkt zu spät? Was ist das Problem? Was willst Du in Wirklichkeit?
Freundliche Grüße
Vinzenz
Hello,
Und warum ist es zum angegebenen Zeitpunkt zu spät?
Weil dann die gesamten Sesktopicons nicht gefunden werden, die zu Programmen "aus dem Netzwerk" gehören. Die Programme liegen ja nun auf einer lokalen Platte.
Was ist das Problem?
s.o.
Was willst Du in Wirklichkeit?
Eine fröhliche Diskussion zum Thema, wie man es alternativ lösen könnte. ;-)
(Jedenfalls keinen Stress oder die heilige Inquisition zurück)
Was mich wundert ist, dass es in Windows keine Möglichkeit in der GUI gibt, diese Mappings vorzunehmen. Das würde bei Entwicklungen und Tests das Umschalten von einer Version auf die andere vereinfachen.
Ein harzliches Glückauf z. Zt. aus Syburg
Tom vom Berg
Yerf!
Was mich wundert ist, dass es in Windows keine Möglichkeit in der GUI gibt, diese Mappings vorzunehmen. Das würde bei Entwicklungen und Tests das Umschalten von einer Version auf die andere vereinfachen.
subst ist wohl verlatet und wird nur noch aus Kompatibilitätsgründen zu Dos noch mitgeschleppt. Die Alternative Symbolic-Links geht zwar wird aber nur über Zusatztools zur Verfügung gestellt...
Alternativ: Map das Laufwerk doch einfach per Netzwerkpfad nochmals... du kannst problemlos eine Freigabe des eigenen Rechners per Netzwerk einbinden...
Gruß,
Harlequin
Hello,
Was mich wundert ist, dass es in Windows keine Möglichkeit in der GUI gibt, diese Mappings vorzunehmen. Das würde bei Entwicklungen und Tests das Umschalten von einer Version auf die andere vereinfachen.
subst ist wohl verlatet und wird nur noch aus Kompatibilitätsgründen zu Dos noch mitgeschleppt. Die Alternative Symbolic-Links geht zwar wird aber nur über Zusatztools zur Verfügung gestellt...
Alternativ: Map das Laufwerk doch einfach per Netzwerkpfad nochmals... du kannst problemlos eine Freigabe des eigenen Rechners per Netzwerk einbinden...
Eine Freigabe kann ich hier nicht machen, dann wird es kompliziert. Das möchte ich mir ersparen.
Ich hänge zur Zeit noch direkt am WLAN-Access-Client, NAT funktioniert noch nicht. Ich habe zwar schon ein volles Auto mit Technik hergekarrt, aber die entscheidenen Geräte stehen eben zuhause.
Ein harzliches Glückauf
Tom vom Berg
Hallo Tom,
Und warum ist es zum angegebenen Zeitpunkt zu spät?
Weil dann die gesamten Sesktopicons nicht gefunden werden, die zu Programmen "aus dem Netzwerk" gehören. Die Programme liegen ja nun auf einer lokalen Platte.
Was mich wundert ist, dass es in Windows keine Möglichkeit in der GUI gibt, diese Mappings vorzunehmen. Das würde bei Entwicklungen und Tests das Umschalten von einer Version auf die andere vereinfachen.
Ich habe sowas in einem Netzwerk noch nie gebraucht. SUBST hab' ich letzlich für eine Uralt-Legacy-DOS-Anwendung benötigt, die ihre Sicherungen ausschließlich auf Laufwerk A: oder B: schreiben (und von diesen Laufwerken wieder einlesen konnte). Das ganze musste auf diversen nagelneuen Rechnern ohne Diskettenlaufwerk diverser ehrenamtlicher Mitarbeiter funktionieren. SUBST war da ganz praktisch :-)
Aber nochmals zu Deiner Fragestellung:
Du möchtest also nicht auf vernünftige Benutzerverzeichnisse zugreifen, sondern auf irgendwelche eigene Verzeichnisse, die irgendwo auf irgendwelchen Festplatten herumfliegen. Hoffentlich entsprechen die Verzeichnisnamen den Benutzernamen, sonst hast Du Dir ein nettes Problem eingebrockt.
Weiterhin möchtest Du dies nur tun, wenn keine VPN-Verbindung zu Deinem Server besteht, da die Benutzer dann diese nutzen sollen - und nicht den lokalen Spiegel.
Entsprechende Batchdateien kannst Du wunderbar über die GUI von gpedit.msc für die An- und Abmeldung einbinden, diese Skriptdateien findest Du über
Richtlinien für lokaler Computer
-> Benutzerkonfiguration
-> Windows-Einstellungen
-> Skripts (Anmelden/Abmelden)
und sind unter
%SYSTEMROOT%\System32\GroupPolicy\User\Scripts\Logon (bzw. Logoff)
gespeichert. Über die Umgebungsvariable %USERNAME% solltest Du den Pfad zum Verzeichnis steuern können. Entsprechen sich die beiden nicht, dann solltest Du entweder die Pfade ändern oder eine neue Benutzerumgebungsvariable einführen, die für jeden Benutzer den passenden Wert hat (einmal halt zu setzen).
Die Überprüfung der Existenz eines Verzeichnisses mit dem speziellen Eintrag
\pfad\zum\Verzeichnis\NUL
sollte übrigens immer noch funktionieren :-)
Freundliche Grüße
Vinzenz
Hello,
Ich habe sowas in einem Netzwerk noch nie gebraucht.
Ich auch nicht.
Aber nun sitze ich nicht mehr im Netzwerk, sondern alleine, mit meinen Sicherungskopien der Netzwerk-Volumes auf meiner lokalen Festplatte, die NICHT die Systemplatte ist.
Aber nochmals zu Deiner Fragestellung:
Du möchtest also nicht auf vernünftige Benutzerverzeichnisse zugreifen, sondern auf irgendwelche eigene Verzeichnisse, die irgendwo auf irgendwelchen Festplatten herumfliegen. Hoffentlich entsprechen die Verzeichnisnamen den Benutzernamen, sonst hast Du Dir ein nettes Problem eingebrockt.
Ich habe mir da gar kein Problem eingebrockt, denn glücklicherfweise haben die Microsoftentwickelr den Subst-Befehl bisher erhalten. Er zerstört auch nicht die normalen Netzwerk-Mappings, sondern überscxhreibt sie nur temporär. Auch hier haben die Jungs und Mädels nachgedacht. :-)
Weiterhin möchtest Du dies nur tun, wenn keine VPN-Verbindung zu Deinem Server besteht, da die Benutzer dann diese nutzen sollen - und nicht den lokalen Spiegel.
Genauso ist es. Es wird aber immer nur ein Benutzer gleichzeitig sein. Und im Mometn bin ich jur der Test-DAU. Und das andere Ende ist leider ca. 300km weit weg und der Server ist ganz alleine, der arme Kerl *traurig guck*
Und natürlich ist dort noch kein VPN eingerichtet. Ein FTP-Zugang besteht, aber der ist eben unverschlüsselt und auf Dauer deshalb nicht tragbar.
Ich habe in der Angelegenheit VPN ja in der Firma schon eine Runde gebastelt, und als es nun gestern auch mich selber betraf, dachte ich mir, dass das eine gute Möglichkeit sei, das auf die Spitze zu treiben und im januar mit einer fertigen Lösung zurückzukommen. :-)
Entsprechende Batchdateien kannst Du wunderbar über die GUI von gpedit.msc für die An- und Abmeldung einbinden, diese Skriptdateien findest Du über
Richtlinien für lokaler Computer
-> Benutzerkonfiguration
-> Windows-Einstellungen
-> Skripts (Anmelden/Abmelden)und sind unter
%SYSTEMROOT%\System32\GroupPolicy\User\Scripts\Logon (bzw. Logoff)
gespeichert. Über die Umgebungsvariable %USERNAME% solltest Du den Pfad zum Verzeichnis steuern können. Entsprechen sich die beiden nicht, dann solltest Du entweder die Pfade ändern oder eine neue Benutzerumgebungsvariable einführen, die für jeden Benutzer den passenden Wert hat (einmal halt zu setzen).
Die Überprüfung der Existenz eines Verzeichnisses mit dem speziellen Eintrag
\pfad\zum\Verzeichnis\NUL
sollte übrigens immer noch funktionieren :-)
Das gibt einen Fehler!
"C:\NUL" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Fürs nötigste funktioniert die Batchlösung erstmal. Da werden eben die Icons erst nach dem Refresh des Desktops angezeigt.
Alles anderen Tipps werde ich noch durcharbeiten...
Aber jetzt trink ich nerstmal ein Hefeweizen ;-)
Prost
Dank an Martin, Harlequin und Dich für die Reanimierung des Uraltwissens und die Tipps für die neueren Dinge.
Ein harzliches Glückauf
Tom vom Berg