juergen23
Goto Top

Alte Server Verknüpfung bei Clients löschen

Hallo zusammen,

ich habe eine Problem nach einer Server-Migration von SBS2003 auf Server 2012.
In einem bestehenden Netzwerk mit SBS2003 Server (DNS und DHCP auf dem Server aktiv) und mehreren Win7 und Win8 Clients wurde der Server durch einen 2012ér Server abgelöst. Dazu wurde der neue Server in die Domäne des SBS2003 Servers aufgenommen und der 2012ér dann als Domänen Master benannt. Damit hatte der 2012ér Server dann alle AD-Daten, DNS-Einträge usw. Der SBS2003 Server wurden dann abgeschaltet.
Auf den Clients gabe es per Login Script verschiedene freigegebene Laufwerke des alten Servers mit Namen "\\Server\\xxx". Diese wurden per neuem Login Script auf den neuen Server mit Namen "\\Server1\xxx umgeschlüsselt. Soweit so gut dies hat alles funktioniert.
Dann wurde auf den Clients aus Office365 noch die neue Office 2013 Version aufgespielt. Die Clients benutzen in Word und Excel Vorlagen. Diese haben sich auf einer Laufwerksverknüpfung Namens "\\Server\Vorlagen" befunden. Die Vorlagen wurden in gleichnamiges Verzeichnis auf dem neuen Server kopiert "\\Server1\Vorlagen" und entsprechend mit einem Laufwerksbuchstaben verknüpft.

Jetzt kommt der Fehler: Öffnet ein Client eine Word- oder Excel-Datei, die über eine Vorlage auf dem alten Server erstellt wurde, dann braucht das öffnen der Datei teilweise bis zu einer Minute. Es kommt zusätzlich auch eine Fehlermeldung, dass die Vorlage auf "\\Server\Vorlagen" nicht gefunden werden kann. Klickt man diese weg, wird die Datei geladen. Dieser Vorgang dauert aber wie beschrieben bis zu einer Minute für eine Datei die nur wenige KB groß ist.


Versuch der Fehlerbehebung: Es wurde auf dem 2012ér Server im DNS ein zusätzlicher Alias Namen "Server" angelegt mit dem verweis auf die IP-Adresse des "Server1". Pingen kann man den Server jetzt unter beiden Namen.
Dann wurde auf allen Clients der DNS Cache mit ipconfig /flushdns gelöscht. Bis dorthin war in der Netzwerkübersicht sogar noch der Alter Server "Server" sichtbar.
Ein Versuch einer Laufwerksverknüfung mit "\\Server\Voralgen" auf einem der Clients scheiter allerdings. Eine Verknüpfung mit "\\Server" fördert sogar alte Laufwerksfreigaben des SBS2003 Servers in der Übersicht zu Tage.

Wie kann ich den Pfad der wohl beim Starten von Office Dokumenten die über eine Vorlage erstellt wurden und im Hintergrund immer noch versuchen, die Vorlage dazu unter "\\Server\Vorlagen" zu finden so umbiegen, dass diese die Vorlage jetzt unter "\\Server1\Vorlagen" suchen? Und warum braucht ein Office Dokument überhaupt die ehemalige Vorlage wieder? Dann könnte doch auch keiner außerhalb der Firma ein Dokument öffnen, dass mit einer Vorlage erstellt wurde?

Kann mir jemand bei diesem Problem helfen, ich bastele daran jetzt schon mehrere Tage rum und hab auch schon genügend in Foren gesucht und gelesen.

Vielen Dank schon mal...

Content-ID: 219118

Url: https://administrator.de/forum/alte-server-verknuepfung-bei-clients-loeschen-219118.html

Ausgedruckt am: 26.12.2024 um 04:12 Uhr

Taramur
Taramur 11.10.2013 um 12:55:04 Uhr
Goto Top
Hi,

erst mal - was stehen denn für Pfade in "Dateispeicherorte" unter Word?

Grüße
Taramur
Juergen23
Juergen23 11.10.2013 um 13:11:59 Uhr
Goto Top
Hallo,

unter Dateispeicherorte ist bei persönliche Vorlagen der richtige Pfad "\\Server1\Vorlagen" eingetragen.

Mir ist grad aufgefallen, das bereits beim Starten einer Word Datei (Doppelklick auf die Datei im verknüpften Verzeichnis "\\Server1\xxx" die Meldung im Word kommt "Kontaktaufnahme zu \\Server\xxx". Dann dauert es ca. eine Minute und die Datei öffnet. Obwohl die Datei im Verzeichniss "\\Server1\xxx" steht.

Woher hat die Datei die Info "\\Server\xxx" und warum öffnet sie dann doch?

Gruß
Jürgen
colinardo
colinardo 11.10.2013 aktualisiert um 14:28:01 Uhr
Goto Top
Zitat von @Juergen23:
Woher hat die Datei die Info "\\Server\xxx" und warum öffnet sie dann doch?
Hallo Jürgen,
die Info wird in dem Dokument selber gespeichert! Du kannst dies überprüfen indem du im VBA-Editor von Word im "Direktbereich" folgendes eingibst:
debug.print ActiveDocument.AttachedTemplate.FullName
Es sollte dir dann der ursprüngliche Pfad zum Template angezeigt werden. Diese Eigenschaft des Dokuments kann auch geändert werden, d.h. du könntest alle Dokumente z.B. mit einem VBS-Makro bearbeiten und den Pfad auf den neuen Server umbiegen.
Alternativ geht das auch in Word via Dialog: http://www.faq-o-matic.net/2013/01/03/word-2010-vorlage-neu-verbinden/

Wenn in Vorlagen z.B. Makros, Inhaltsblöcke, etc enthalten sind fragt Word diese aus der Vorlage ab, wenn das Template dann z.B. nicht mehr verfügbar ist funktionieren bestimmte Dinge dann teilweise nicht mehr.

Alles weitere zu Dokumentvorlagen steht hier sehr detailliert beschrieben.

Grüße Uwe
Juergen23
Juergen23 11.10.2013 um 15:33:39 Uhr
Goto Top
Hallo Uwe,

Theoretisch lässt sich das ja sicherlich für einzelne Word Dokumente so umsetzten. Wenn mann aber mehrere 1000 davon hat und alle das Problem haben, dass sie so lange zum Starten brauchen ist das nicht wirklich praktikabel.
Gibt es denn keine Möglichkeit den Serverpfad auf dem die ursprünglich Vorlage mal lag "\\Server\Vorlagen", so umzubiegen, dass der neue Pfad "\\Server1\Vorlagen" genutzt wird. Das von mir aus mit einem Start Script für die Clients oder einer Umleitung auf dem 2012'er Server. Ich habe oben ja bereits geschrieben, wass ich alles schon versucht habe. Leider ohne Erfolg.

Gruß
Jürgen
colinardo
colinardo 11.10.2013 aktualisiert um 18:05:45 Uhr
Goto Top
Theoretisch lässt sich das ja sicherlich für einzelne Word Dokumente so umsetzten. Wenn mann aber mehrere 1000 davon hat und alle das Problem haben, dass sie so lange zum Starten brauchen ist das nicht wirklich praktikabel.
Ich hab ja geschrieben das sich dies mit einem Makro lösen ließe das rekursive die Dokumente bearbeitet, habe ich hier vorliegen wenn du's haben willst nur kurze Rückmeldung.

Wenn in den alten Dokumenten nur UNC-Pfade wie \\server verwendet wurden, würde mir als Lösung ein Eintrag in die Hosts-Datei auf den Clients einfallen, oder die Einrichtung eines WINS-Servers. Denn für die Auflösung der UNC-Pfade versucht Windows erst mal einen Master-Browser im Netz zu finden, welcher auf dem alten SBS2003 ja der SBS selber mit seinem WINS-Server war aber auf einem Server 2012 standardmäßig nicht aktiv ist.

Für die Zukunft würde ich dann nur noch FQDN-DNS-Namen verwenden, damit die Namensauflösung direkt über DNS abläuft.

Grüße Uwe
Juergen23
Juergen23 11.10.2013 um 18:54:34 Uhr
Goto Top
Hallo Uwe,

Danke schon mal.
Müsste das Makro dann bei jedem Word Dokumen dann einzeln angewendet werden?
Wenn ja wird das dann trotzdem extrem Zeitaufwendig, da die Docs in zig Unterverzeichnissen versteckt sind.
Wenn es einfacher geht wäre ich natürlich an dem Makro stark interssiert face-wink wie komm ich denn da dran?

Für die Server Lösung habe auch schon einen Wins Server auf dem 2012'er aufgesetzt. Ich weiss leider nur nicht was ich da konfigurieren muss.

Gruß
Jürgen
colinardo
colinardo 11.10.2013, aktualisiert am 28.05.2014 um 13:09:49 Uhr
Goto Top
Zitat von @Juergen23:
Müsste das Makro dann bei jedem Word Dokumen dann einzeln angewendet werden?
Wenn ja wird das dann trotzdem extrem Zeitaufwendig, da die Docs in zig Unterverzeichnissen versteckt sind.
Wenn es einfacher geht wäre ich natürlich an dem Makro stark interssiert face-wink wie komm ich denn da dran?
Das läuft von selber rekursiv durch alle Unterordner und verarbeitet nur Dateien mit den Endungen *.doc, *.docx, *.docm(lässt sich anpassen). Natürlich sollte es auf einer Arbeitsstation durchgeführt werden die Word installiert hat und die nicht das Problem mit dem verzögerten öffnen hat. Vorher bitte an einem Testordner mit Dokumenten bei dir testen.

'Pfad zu den Dokumenten  
Const strPathDocs = "\\Server1\docs"  
'Logfile für eventuell auftretende Fehler  
Const strPathLogfile = "c:\logfile.txt"  
'Alter Servername  
Const strOldServer = "\\Server"  
'Neuer Servername  
Const strNewServer = "\\NewServer"   

Set fso = Wscript.CreateObject("Scripting.Filesystemobject")  
Set objWord = WScript.CreateObject("Word.Application")  
'Wenn das ganze unsichtbar ablaufen soll nächste Zeile auf false setzen  
objWord.Visible = True
objWord.DisplayAlerts = 0
'Im Ordner Rekursiv alle Word-Dokumente verarbeiten  
parseFolders fso.GetFolder(strPathDocs), True
objWord.DisplayAlerts = -1
objWord.Quit True
Set fso = Nothing
Set objWord = Nothing

Function parseFolders(fldr, boolRecursion)
    
    For Each file In fldr.Files
   		'Verarbeite nur Dateien mit den Endungen *.doc, *.docx, *.docm   
        If LCase(Right(file.Name, 3)) = "doc" Or LCase(Right(file.Name, 4)) = "docx" Or LCase(Right(file.Name, 4)) = "docm" Then  
            On Error Resume Next
            Set objDoc = objWord.Documents.Open(file.Path)
            If Err.Number <> 0 Then
            	Set objLog = fso.OpenTextFile(strPathLogfile,8,True)
            	objLog.WriteLine("Fehler beim öffnen der Datei: -> " & file.Path)  
            	objLog.Close
            Else
              Set dlgTemplate = objWord.Dialogs(87)
              If InStr(1,dlgTemplate.Template,strOldServer,1) Then
                        ' neuen Templatepfad erstellen  
	            	newTemplate = Replace(dlgTemplate.Template,strOldServer,strNewServer,1,1,1)
	            	' Alle alten Vorlageninformationen entfernen  
	            	objDoc.RemoveDocumentInformation (9)
	            	' Neue Vorlage zuweisen  
	            	objDoc.AttachedTemplate = newTemplate
		        ' Dokument speichern  
		        objDoc.Save
		        objDoc.Close True
	      Else
	       		objDoc.Close False
              End If
            End if
        End If
    Next
    
    If boolRecursion Then
		For Each subFolder in fldr.SubFolders
			parseFolders subFolder, True
		Next
	End If
End Function

Für die Server Lösung habe auch schon einen Wins Server auf dem 2012'er aufgesetzt. Ich weiss leider nur nicht was
ich da konfigurieren muss.
Müsste ich für den Server 2012 erst mal nachschauen, normalerweise gibt man auf dem DHCP-Server in den Optionen für die entsprechenden Clients die IP-Adresse des WINS-Servers mit.

-- Nachtrag viel zu konfigurieren gibt es da nicht:
  • Für deinen alten Server-Namen konfigurierst du mit einem Rechtsklick auf Aktive Registrierungen eine neue statische Zuordnung gibst unter "Computername" den alten Servernamen ein und unten die aktuelle IP-Adresse.
  • Dann überprüfst du das Port 137 UDP auf der Firewall freigegeben ist (sollte Windows schon für dich erledigt haben), und der WINS-Dienst läuft.
  • Auf deinem DHCP-Server gibst du dann noch den Clients den WINS-Server mit der DHCP-Option 44 mit auf den Weg.

Grüße Uwe
Juergen23
Juergen23 14.10.2013 um 20:33:30 Uhr
Goto Top
Hallo Uwe,

Ich habe die Vorgehnsweise mit dem WINS-Server und auch den Reg-Key einfügen, damit der zusätzliche Server-Namen nicht zu einer Fehlermeldung führt umgesetzt und auch den Server neu gestartet. Leider funktioniert es immer noch nicht. Wenn ich versuche das Vorlagen Verzeichnis mit "\\server\Vorlagen" auf einem Client Rechner zu verbinden geht es immer noch nicht. Was sehr eigenartig ist, es funktioniert auf dem Server direkt. Ich kann dort ein Laufwerk mit dem alten Server-Namen verknüpfen. Als Inhalt kommt das freigegebene Verzeichnis des neuen Servers "Server1".
Das Problem liegt als jetzt "nur" noch an den Clients.
Das mit dem Makro habe ich jetzt noch nicht getestet, da ich kein VBS Experte bin und nicht mal weis, wie ich das Makro bei mir zum laufen bekomme... Dummi halt face-wink
Ich wäre für einen Tipp in Richtung mit der Umleitung dankbar oder wie ich das Makro zum laufen bekommen. Ich verzweifele langsam....

Gruß
Jürgen
colinardo
colinardo 15.10.2013 um 10:03:23 Uhr
Goto Top
Hast du auch schon auf einem Client versucht in der Hosts-Datei einen Eintrag zu setzen, wie ich oben geschrieben habe ?
Probieren kannst du auch mal einen neuen Benutzer in der Domäne anzulegen der dann auf einer Workstation ein ganz neues Profil bekommt, wenn die Probleme dort nicht auftreten sind eventuell Reste in der Registry die Ursache. Schmeiß auch mal einen Rechner aus der Domäne raus und hebe diesen neu in die Domäne.

Ansonsten würde ich mal mit Wireshark den Netzwerkverkehr auf einem Client mitschneiden und nachsehen was für Anfragen der Client wohin sendet und ob Antworten zu seinen Anfragen ankommen.

Das mit dem Makro habe ich jetzt noch nicht getestet, da ich kein VBS Experte bin und nicht mal weis, wie ich das Makro bei mir
zum laufen bekomme... Dummi halt face-wink
so schwer ist das doch nicht, in Zeile 1-8 stehen die Variablen die du anpassen musst (Kommentare sind ebenfalls schon im Code vorhanden)
'Pfad zu den Dokumenten
Const strPathDocs = "\\Server1\docs"
'Logfile für eventuell auftretende Fehler
Const strPathLogfile = "c:\logfile.txt"
'Alter Servername
Const strOldServer = "\\Server"
'Neuer Servername
Const strNewServer = "\\NewServer" 
danach das Script als Datei mit der Endung *.vbs speichern, und via Doppelklick ausführen. (Bitte erst an einem Ordner mit Testdokumenten testen)

Viel Erfolg
Grüße Uwe
Juergen23
Juergen23 16.10.2013 um 23:40:38 Uhr
Goto Top
Hallo Uwe,

Problem gelöst.
Die Umleitung per WINS-Server und dann auch noch die Einstellung im DHCP auf den WINS-Server hatte leider nicht ausgereicht, da die Clients feste IP-Adressen haben und ich den WINS-Server auf den Clients noch manuell hinterlegen musste.
Trotzdem konnten die Clients mit dem Pfad "\\server\Vorlagen" keine Verbindung zum neuen Server aufbauen.
Dann habe ich in der Domänenumgebung mal nach dem Namen "Server" gesucht und festgestellt, dass dort immer noch der alte Server mit seiner alten IP-Adresse auftauchte.
Nach Kontrolle des Domänen-Servers (neuer Server) musst ich feststellen, dass da als zweiter Domänen-Server immer noch der alte Server zusätzlich zum neuen Server hinterlegt war. Also den alten Domänen-Server hier nochmals manuell gelöscht, dann noch einen ipconfig /flushdns auf den Clients durchgeführt und schon konnte die Verknüpfung mit dem alten Server-Namen auf dem freigegebenen Verzeichnis des neuen Servers hergestellt werden.
Dein Makro musste ich also gar nicht mehr ausführen. Die WORD-Dateien öffnen jetzt wieder innerhalb von Sekunden. So wie es sein sollte.

Vielen Dank für die Mühe und Hilfe...

Gruß
Jürgen