berner
Goto Top

Userpfad Problem nach Aenderung des Computernamens

In einem Netzwerk von 9 PCs sind 9 Ersatz-PCs eingebunden, bei denen im Bedarfsfall vor dem Einsatz nur der Computername und die IP-Adresse angepasst werden müssen. Die Ersatz-PCs werden periodisch eingeschaltet und erhalten Updates, deshalb dürfen sie ja aus Kollisionsgründen noch nicht die endgültigen PC-Namen und IP-Adressen haben. Die Reserve PCs haben im Namen ein R- vorgestellt, also z.B. R-B1. Alle 9 PCs sind unterschiedlich aufgesetzt (u.A. User, Rechte, Drucker-IPs etc.) und können nicht durch ein einziges Reservegerät, das bei Bedarf entsprechend konfiguriert würde, ersetzt werden.
Da die PCs in einem Produktions-Schichtbetrieb eingesetzt sind, muss ein Austausch innerhalb von 15 Minuten erfolgen. Weil kein Informatiker rund um die Uhr zur Verfügung steht, soll der User selber den Ersatz-PC in Betrieb nehmen können, nachdem er anhand einer Anleitung den defekten PC vom Netz genommen hat und dem Ersatzgerät Name und IP-Adresse anpasst.
Hier das Problem:
Z.B. das Ersatzgerät R-B1ist bereits für den User b1print vorbereitet. Vor dem Ändern des Computernamens wird der Desktop etc. unter C:\users\b1print abgelegt. Wenn ich ins CMD einsteige, wird mir auch C:\users\b1print> angezeigt. Nach dem Ändern des Computernamens wird aber der Desktop unter C:\users\b1print.R-B1 abgelegt, und im CMD wird mir der Pfad C:\users\b1print.R-B1> angezeigt. Das gibt bei der nächtlichen automatisierten Sicherung Probleme, weil diese für den User b1print und nicht b1print.R-B1 vorgesehen ist.
Frage:
Wie kann nach einem Ändern des Computernamens den von Windows automatisch kreierte Username b1print.R-B1 entfernt werden? In der Systemsteuerung unter Benutzerkonten oder muss das unter regedit geschehen?
Danke für die Unterstützung.
P.S. Hier noch eine generelle Frage zum Forum: Kann ich spezifisch auf eine Antwort Stellung nehmen oder muss ich das generell unter Kommentieren machen?

Content-ID: 655114

Url: https://administrator.de/contentid/655114

Ausgedruckt am: 23.11.2024 um 16:11 Uhr

killtec
killtec 23.02.2021 um 16:35:12 Uhr
Goto Top
Hi,
das ist der Pfad vom Benutzerprofil. Da der Benutzer lokal existiert erstellt er ein neues mit dem Namen R-B1.

Und ja, du kannst zitieren mit den Anführungszeichen im Antworten-Feld.

Gruß
StefanKittel
StefanKittel 23.02.2021 um 18:36:09 Uhr
Goto Top
Hallo,

das ist nicht so einfach. face-smile
Du kannst das alte Profil löschen und er legt dann ein neues an.
Aber dann sind natürlich alle Einstellungen weg.
Also bringt Dir das so nichts.

Alternativ die Pfade alle auf c:\Skripte ändern.
Dann ist alles losgelöst vom Profilpfad.

Vermutlich viel einfacher ist es wenn der Reserve-PC in einem anderem VLAN ist und schon den richtigen Namen trägt.
Dann muss man nur die IP ändern und das Netzwerkkabel umstecken.

Stefan
Berner
Berner 23.02.2021 um 19:21:48 Uhr
Goto Top
Hallo killtec
Danke für Deine Erklärung

Hallo Stefan
Vielen Dank für Deine Ausführungen und den Tipp. Das mit dem anderen VLAN scheint mir eine gute Idee. Dummerweise sind aber bereits 9 PCs mit dem Präfix R- konfiguriert. D.h. alle werden Probleme geben, wenn man sie in Betrieb nehmen wird. Ich muss also eine andere Lösung finden.
Die PCs die im Moment aktiv in Betrieb sind, sichern täglich 6 Ordner auf einen PC der als "Server" dient. Vier Ordner davon sind spezifisch für die Drucksoftware (Layout-Software), wovon 2 der 4 Ordner sich in ProgramData und program files (x86) befindet. Zudem werden Startup und Users gesichert, wobei da nicht alle Users gesichert werden sondern z.B. nur der b1print. Ich könnte also noch andere Systemordner oder Dateien bei Bedarf mit sichern, falls das das Problem lösen würde...
Ich befürchte, dass ein restore vom Ordner Users nicht genügt, da vermutlich der falsche User b1print.R-B1 noch ganz anders vorkommt, vermutlich in der Registry..
Gruss aus der Schweiz Nicolas
Berner
Berner 23.02.2021 um 23:03:43 Uhr
Goto Top
Ich habe im Internet nach Lösungen gesucht, und bin dabei auf folgenden Beitrag gestossen, der mir aber nicht wirklich hilft, weil er sich auf XP und 2003 bezieht:
http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1735.h ...

Der Titel "Den Pfad im Arbeitsplatz "Dateien von <%UserName%>" anpassen" tönt viel versprechend, ich finde aber den Ordner "DocFolderPaths" nicht in HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Explorer\ . Obschon ich mehrer mögliche Ordner durchsucht habe, bin ich nicht auf eine Seite gelangt, wo ich den Pfad anpassen könnte.

Zu ergänzen ist, dass der Schlüssel {59031a47-3f72-44a7-89c5-5595fe6b30ee} in HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ Explorer\ MyComputer\ NameSpace\ DelegateFolders fehlt und mir vermutlich deshalb der gewünschte Ordner nicht angezeigt wird. Ist dieser Schlüssel auch für Win7PRO gültig? Soll ich einen Ordner mit diesem Namen in DelegateFolders anlegen, aber vorher die Registry Datenbank sichern?

Bearbeiten / suchen in der Registry nach DocFolderPaths oder %username% hat kein Ergebnis gegeben

Kann mir vielleicht anhand dieser Anregung jemand weiterhelfen?
emeriks
emeriks 24.02.2021 um 10:56:05 Uhr
Goto Top
Hi,
mir ist noch nicht klar, warum der R-PC den Namen und die IP-Adresse des zu ersetzenden PC's bekommen muss. Woher diese Notwendigkeit?

Das gibt bei der nächtlichen automatisierten Sicherung Probleme, weil diese für den User b1print und nicht b1print.R-B1 vorgesehen ist.
Auch das ist vollkommen unklar. Wie kommt es zu dieser Abhängigkeit?

E.
support-m
support-m 24.02.2021 um 17:23:56 Uhr
Goto Top
Moin!
Zitat von @Berner:

In einem Netzwerk von 9 PCs sind 9 Ersatz-PCs eingebunden, bei denen im Bedarfsfall vor dem Einsatz nur der Computername und die IP-Adresse angepasst werden müssen. Die Ersatz-PCs werden periodisch eingeschaltet und erhalten Updates, deshalb dürfen sie ja aus Kollisionsgründen noch nicht die endgültigen PC-Namen und IP-Adressen haben. Die Reserve PCs haben im Namen ein R- vorgestellt, also z.B. R-B1. Alle 9 PCs sind unterschiedlich aufgesetzt (u.A. User, Rechte, Drucker-IPs etc.) und können nicht durch ein einziges Reservegerät, das bei Bedarf entsprechend konfiguriert würde, ersetzt werden.

Befinden sich die Geräte in einer / gleichen Domäne? Oder ist das eine Workgroup?

MfG
Berner
Berner 24.02.2021 um 18:49:07 Uhr
Goto Top
Hi emeriks
Danke für Dein Interesse. Wegen Corona beginne ich oft mit der Arbeit erst gegen 17 Uhr. Deshalb kann ich nicht sofort reagieren. Ich bin Freelancer und habe einen Kunden seit rund 30 Jahren, wo ich das von allen anderen Netzwerken abgekoppelte Netzwerk der PCs für den Produkteaufdruck (Produkt selber und Karton wo meistens 12 Produkte verpackt werden) betreue. Zuvor war dieses Netzwerk im Hauptnetzwerk des Betriebs eingebunden, aber mit 999.999.15.999 statt mit 999.999.1.999 wie die PCs und Drucker der Administration. Damals wurde aber mehrmals im Jahr das Produkteaufdruck-Netzwerk wegen Updates, z.B. der Firewall, so massiv gestört, dass die Produktion für einen halben Tag oder länger ausfiel. Bei 9 Produktionslinien eine kleinere Katastrophe. Deshalb habe ich das Produkteaufdruck-Netzwerk und vom Internet getrennt, und siehe da, ich habe keine Störungen mehr.
Die gemeinsame SQL-Datenbank und Sicherungen aller Clients (letzte 10 Arbeitstage und letzte 8 Mitte- Monat) liegen auf einem PC der als Server dient und USV gestützt ist, der wiederum die Daten auf einen USB-Stick und einem NAS täglich sichert. Dies weil kein übliches Backup/Restore gemacht wird.
Von diesem "Server" aus sind die Clients via Netzlaufwerk einzeln ansprechbar, um z.B. vom Server ein Layout einem Client ins Layout-Verzeichnis zu senden. Hier entsteht bereits eine Abhängigkeit.
Eine weitere Abhängigkeit entsteht durch eine Vielfalt von Batchprogrammen, die sich entweder auf die IP-Adresse oder den Computernamen oder beidem beziehen:
- Ein PC-Reparatur-Programm wo der Client auf einen der letzten 10 Arbeitstage zurückgesetzt werden kann, wählbar Konfigurationsdateien der Druckprogramme, User spezifische wie Desktop, Favoriten und Startup. Favoriten sind Konfigurationen des i-Explorers mit den IPs der zu einer Produktionslinie zusammengehörenden Drucker, wo Druckerstatus, Tinten- bzw. Folienreserve etc. sichtbar gemacht werden kann.
Ein zurücksetzen der Einstellungen basiert da auf dem Computernamen.
- Ein Programm, das die neu erstellten Layouts auf einem Client in einen Layout-Pool sichert. Am nächsten Morgen beim Aufstarten der Clients erhalten Clients von baugleichen Produktionslinien ihre Vorlagen ab dem Layout-Pool.
Das ganze ist eher unkonventionell, basiert aber auf der Tatsache, dass die User Maschinenführer und nicht gewöhnliche PC User sind, d.h. sie haben wenig PC Erfahrung. Sie brauche ja den PC nur bei einem Produktwechsel, also keine 10 Mal am Tag für wenige Minuten. Da es öfters vorkam, dass ein User ein Layout irrtümlich löschte oder unbrauchbar machte, liegen die Layouts nicht auf dem Server sondern lokal. Ebenso gab es Probleme als die Layouts ursprünglich auf dem "Server" lagen und zwar wenn zwei Clients dasselbe Layout benutzen wollten.
*
Wenn ich keine Lösung finde, werde ich das gute Dutzend Batchprogramme, teilweise über 20 Seiten lang, so umschreiben, dass sie sowohl den üblichen User-Pfad (z.B. b1print) sowie falls vorhanden den b1print.R-B1 sichern und bei einem Restore berücksichtigt, ob der PC ersetzt wurde oder nicht. Das Problem zieht sich ja weiter, weil ich ja für einen ausgelieferten Ersatz-PC wieder einen solchen aufsetzen und einen Namen vergeben muss. Der müsste ja dann z.B. RR-B1 heissen, wenn ich den ausgelieferten nicht von R-B1 auf B1 umbenenne.
*
Ich war wohl fast zu ausführlich...
Berner
Berner 24.02.2021 um 18:52:09 Uhr
Goto Top
Hi support-it
Auch Dir vielen Dank für Dein Interesse. Die PC's sind in keiner Domäne sondern in einer Arbeitsgruppe. Die Benutzerinformationen sind also lokal auf den einzelnen Clients gespeichert.
MfG
killtec
killtec 25.02.2021 um 08:17:08 Uhr
Goto Top
Hi,
wäre hier evtl nicht ein kleines AD eine Idee? Dann kannst du auch sauber im DNS mit CNAME Einträgen arbeiten und hast das Problem somit nicht. Da muss dann nur der CNAME angepasst werden.
emeriks
emeriks 25.02.2021 um 08:53:39 Uhr
Goto Top
Zitat von @killtec:
Da muss dann nur der CNAME angepasst werden.
Das darf dann aber der normale Anwender nicht.
emeriks
Lösung emeriks 25.02.2021 um 11:02:31 Uhr
Goto Top
Zitat von @Berner:
Ich war wohl fast zu ausführlich...
Aber nur ein kleines Bisschen ... face-wink
Du könntest ja auch mit Pull-Verfahren arbeiten. Nicht der Server sendet sondern die Clients holen ab.
Ebenso könntest Du die ganzen Scripte so schreiben, dass sie eine Datei auswerten.
  • Benutzer meldet sich an
  • Loginscript läuft
  • Loginscript speichert an definierter Stelle eine Datei mit den relevanten Informationen, z.B.
      • aktueller PC-Name
      • aktuelle IP-Adresse
      • aktueller Benutzerprofilpfad
killtec
killtec 25.02.2021 um 13:05:13 Uhr
Goto Top
Zitat von @emeriks:

Zitat von @killtec:
Da muss dann nur der CNAME angepasst werden.
Das darf dann aber der normale Anwender nicht.
Das stimmt. Aber man könnte ja mit einem CNAME 2 Clients ansteuern und quasi das als Round Robin laufen lassen?
Oder sehe ich das falsch?
mayho33
mayho33 25.02.2021 um 16:58:49 Uhr
Goto Top
Für mich hört sich das an wie das perfekte Beispiel für Kiosk-PC mit Roaming-Profiles.

Voraussetzung natürlich wäre eine Domain.
Berner
Berner 26.02.2021 um 10:14:23 Uhr
Goto Top
Hallo emeiks
Danke für Deine Vorschläge
Du könntest ja auch mit Pull-Verfahren arbeiten. Nicht der Server sendet sondern die Clients holen ab.
Ich muss beim Push-Verfahren bleiben, weil ich sonst individuelle "Briefkasten" einrichten muss. Individuell deshalb, wenn mehrere Layouts für verschiedene Clients vorliegen. Die Maschinenführer sind meistens mit der Produktion beschäftigt, und können nicht sofort ihre "Post" abholen. Zudem müsste man dem User telefonisch mitteilen, dass er etwas "abholen" soll. Dazu müsste man ihm ein Icon auf den Desktop legen, das mit einer Batch verknüpft ist, die seine "Post" vom Server holt.
Senden ab Server geht schon, da ich nicht den Computername sondern den UNC-Pfad verwende (robocopy). Ich bin also auch nicht auf einen Netzlaufwerkbuchstabe angewiesen. Die IP-Adresse ist nicht das Problem, da der User mit einem Skript seine IP-Adresse von Reserve-PC auf Produktionslinie bezogene IP ändern kann.

Ebenso könntest Du die ganzen Scripte so schreiben, dass sie eine Datei auswerten.
  • Benutzer meldet sich an
  • Loginscript läuft
  • Loginscript speichert an definierter Stelle eine Datei mit den relevanten Informationen, z.B.
      • aktueller PC-Name
      • aktuelle IP-Adresse
      • aktueller Benutzerprofilpfad

Eine solche Textdatei besteht bereits, wo die Abhängigkeit des Computeramens (z.B. B1) zur IP-Adresse hinterlegt ist. Eines meiner Programme prüft bei Bedarf diese Einträge. Bislang war diese Datei fix und nicht variabel. Die Idee von Dir will ich weiterverfolgen, da das Start-Programm eines Client bei jedem Aufstarten prüfen könnte, ob in der Datei neben der IP-Adresse tatsächlich der aktuelle Benutzerprofipfad steht, wenn nicht, aktualisiert er seinen Eintrag. Beim Herunterfahren um 22Uhr würde er dann anhand dieser "Tabelle" die richtigen Pfade sichern.
Den Computernamen eines Reserve-PCs muss man bei einem Einsatz ändern, weil ich ja dann wieder einen neuen PC aufsetzen muss, und dieser ja wieder anders heissen müsste. Wenn ich ihn nicht ändere, müsste ja die zweite Generation Ersatz-PCs bereits R-R-B1 heissen, weil R-B1 bereits im Einsatz ist.

Ich denke mir mal das Ganze durch und warte ab, ob noch andere Vorschläge kommen. Inzwischen vielen Dank für Deinen realistischen Vorschlag
Gruss
Nicolas
Berner
Berner 27.02.2021 um 21:45:46 Uhr
Goto Top
Hi killtec
Hi StefanKittel
Hi emeriks
Hi support-it
Hi mayho33
Danke für Eure Hilfe. Die beste Idee wäre schon diejenige von emeriks: Die bestehende Zuordnungs"Tabelle" (Textdatei) mit Computername, Default User und IP-Adresse mit dem aktuellen Benutzerprofilpfad zu ergänzen. Diese Datei holen sich die Clients am Morgen beim Login ab dem "Server". Bisher wurde die Datei nur bei Bedarf manuell angepasst. Pro Client eine Zeile, Parameter getrennt durch Leerschlag.
Bei jedem Login müsste neu der relative bestehende Eintrag durch einen aktuellen ersetzt werden, also mit %computername%, %username%, %ip% und %homedrive%%homepath% für den aktuellen Benutzerprofilpfad, wobei ich für die IPv4 folgenden Code einsetzen würde:
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do set ipv4=%%b  
set ipv4=%ipv4:~1%
Das ist mir aber zu umständlich und um ehrlich zu sein, ich wüsste auch gerade nicht so auf die schnelle wie ich die entsprechende Zeilennummer finden kann und anhand dieser und "tokens" den Benutzerprofilpfad auslesen kann. Ich müsste das ohnehin in 3 Batchdateien einbauen.
Einfacher und schneller (und ohne Kopfweh) wird neu für einige Sicherungsschritte nicht mehr C:\Users\%username% verwendet sondern %homedrive%%homepath%. Gesichert wird in ein Verzeichnis mit dem Computername. Die Änderungen habe ich mit "suchen" "ersetzen" schnell gehabt. Umgekehrt - im Bedarf eines Restore - werden entsprechende Verzeichnisse neu in %homedrive%%homepath% zurückgespielt.
Ich glaube so eine Lösung gefunden zu haben
Ich wünsche allen ein erholsames Wochenende
Nicolas
Berner
Berner 28.02.2021 um 18:57:14 Uhr
Goto Top
Hi Forum
Hier noch eine Ergänzung: Wie man die richtige Zeile mit dem Eintrag findet und den gesuchten Pfad (4. token) ausliest weiss ich:
set datei=C:\batchfiles\Zuordnungstabelle.txt
for /f "tokens=4" %%i in ('findstr /i /c:%computernme% %datei%') do set Pfad=%%i  
Das Hineinschreiben in eine Textdatei ist auch kein Zauber.
Bestimmte Zeile löschen und alles in neue Datei schreiben ist auch einfach (mit findstr /v). Soll die Datei nach dem Löschen der Zeile gleich heissen, so geht das nicht ohne weiteres.
Ersetzen einer Zeile ist aber etwas schwieriger...
Gruss
Nicolas