padimonu
Goto Top

Excel 2010 - Kontaktaufnahme

Hallo,

derzeit habe ich ein Problem bei unseren Clients im Netzwerk. Vor einiger Zeit wurde unsere Fileserver (auch namentlich) umgestellt. Nun beobachte ich seit kurzem Probleme beim Öffnen von Excel (2010) Dokumente indem im "Startfenster" "Kontaktaufnahme \\ALTER SERVER\FREIGABE..." steht. Bei Word konnte ich den Fehler über die Entwicklertools -> Dokumentenvorlage beheben. Nur finde ich bei Excel keine dieser Einstellungen. Es müsste ja irgendwo der Pfad hinterlegt sein, ohne jetzt groß in der Registry rum zubasteln..
Das Problem ist derzeit auch nur bei einigen Dokumente, wohl wissend die älteren Dokumente.
Ich hoffe jemand hat vielleicht eine Idee. Meine Recherchen bei Google gingen eher auf Word ein (wie auch hier: Administrator.de -> Kontaktaufnahmen bei Office Dokumenten) oder diverse Registry-Einstellungen.
Danke!

Content-ID: 312144

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

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

colinardo
colinardo 09.08.2016 aktualisiert um 16:59:35 Uhr
Goto Top
Hallo,
schau mal in die Datenverbindungen auf dem Tab Daten. Dort sind häufig Verbindungen/Verknüpfungen zu Datenquellen hinterlegt welche beim Start standardmäßig wenn man die Einstellung nicht raus genommen hat aktualisiert werden wollen.
Ebenso kann der Server in Formeln genutzt worden sein, dann werden diese Verbindungen im Dialogfeld "Verknüpfungen gelistet".

screenshot

Wenn man will kann man diese Verbindungen auf mit einem Skript abändern (VBS/Powershell).

Für Word-Dokumente habe ich das hier im Forum schon mal gezeigt.

-edit-

Habe mir die Excel-Files gerade mal angeschaut und mal schnell ein Powershell-Skript geschrieben das den Namen des alten Servers durch einen neuen in den Datenverbindungen und Verknüpfungen für alle Excel-Dateien (ACHTUNG: nur die neuen OpenXML-Formate! *.xlsx/*.xlsm) eines Ordners (rekursiv) ersetzt.

# --- Variablen ---------------------------
# Alter und neuer Servername angeben
$serverold = "\\serverold"  
$servernew = "\\servernew"  

# Ordner der *.xlsx und *.xlsm Dateien enthält und rekursiv verarbeitet wird
$folder = "D:\Excel-Mappen"  
# --------------------------------------
# Benötigt wird mindestens NET-Framework 4.5 und Powershell 3.0
if ($PSVersionTable.PSVersion.Major -lt 3){write-host "ERROR: Minimum Powershell Version 3.0 is required!" -F Yellow; return}   
# benötigte Assemblies laden
Add-Type -AssemblyName System.IO.Compression
Add-Type -AssemblyName System.IO.Compression.Filesystem

gci "$folder\*" -Include '*.xlsx','*.xlsm' -File -Recurse | %{  
    # Excel File als ZIP-Datei im Update-Modus öffnen
    $zipfile = [System.IO.Compression.ZipFile]::Open($_.FullName,[System.IO.Compression.ZipArchiveMode]::Update)
    
    # Einträge der benötigte Dateien aus dem Dokument holen
    $entries = $zipfile.Entries | ?{$_.FullName -match '^xl/(connections\.xml|externalLinks/_rels/.*?\.rels)$'}  
    $remove = @()
    $entries | %{
        $tmp = "$env:TEMP\$($_.Name)"  
        if (Test-Path $tmp){del $tmp -Force -ErrorAction SilentlyContinue}
        
        # file entry extrahieren
        [System.IO.Compression.ZipFileExtensions]::ExtractToFile($_,$tmp)

        $content = gc $tmp
        if ($content -match [regex]::Escape($serverold)){
            # Einträge ersetzen
            $content -replace [regex]::Escape($serverold),$servernew | Set-Content $tmp -Encoding UTF8
            # geänderte Datei wieder hinzufügen
            [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zipfile,$tmp,$_.FullName) | out-null
            $remove += $_
        }
        # temporäres files löschen
        del $tmp -Force -ErrorAction SilentlyContinue
    }
    # lösche ersetzte Teile im ZIP
    $remove | %{$_.Delete()}
  
    # Zipfile-Resourcen freigeben
    $zipfile.Dispose()
}
Skript wurde hier mit ein paar Testdateien erfolgreich getestet. Aber wie immer erfolgt die Nutzung auf eigene Gefahr und Leben face-wink.

Grüße Uwe
padimonu
padimonu 10.08.2016 um 09:37:53 Uhr
Goto Top
Hallo Uwe,

vielen Dank für deine Unterstützung.
Das SCript läuft soweit ohne Fehler durch, bringt aber leider nicht den geünschten Erfolg. Was ich auch mittlerweile festgestellt habe, dass es nur bei einigen Anwendern ist. Der Anwender A kann Excel-Dok. X öffen und der Anwender B kann Excel-Dok. X mit Verzögerung (Kontaktaufnahme..\\) öffnen. Merkwürdig auch das bei der Kontaktaufnahme lediglich die Kontaktaufnahme immer auf das Userverzeichnis geht. Bsp."\\AlterServer\MuellerM\" oder bei anderen halt "\\AlterServer\MaierP\" .. owbohl die Dokumente damals in anderen Freigaben lagen. Des Weiteren fällt auf, das bei einigen Anwendern ebenfalls Kontaktaufnahme mit dem alten Server hergestellt wird sobald ein Pfad auf dem neuen Server geöffnet wird über "Zuletzt Verwendet" in u.a. auch Word.
Vielleicht doch eine lokale Einstellung?
colinardo
colinardo 10.08.2016 aktualisiert um 09:57:19 Uhr
Goto Top
Verteilt Ihr die Standardverzeichnisse für Dokumentvorlagen etc. per GPO (Office ADMX) oder benutzt Ihr Ordnerumleitung im Profil?
  • Löscht den DNS-Cache auf den Clients.
  • Letzt verwendete Dokumente in Office und deren Caches löschen.
  • Gebe einem User mal testweise ein neues Userprofil.
padimonu
padimonu 11.08.2016 um 08:12:33 Uhr
Goto Top
Hallo,
nein, nichts der gleichen. Servergespeicherte Profile nutzen wir und der Standardspeicherpfad in Office ist auf das Userverzeichnis umgestellt.
Leider hat das löschen des DNS Caches nichts geholfen. Was derzeit eine Verbesserung brachte, war den alten Server aus dem DNS zu löschen, dort war er noch aufgeführt. Dennoch erkennt man das beim Öffnen eines Excel Dokumentes kurz "Kontaktaufnhame \\ALTER Server\" steht. Da dieser jedoch nicht mehr im DNS vorhanden ist, dauert der Startvorgang auch nicht mehr so lange. Ist zwar keine Dauerlösung, verschafft einem aber ein wenig mehr Zeit zur Problemlösung. Was meinst du von einer Office-Neuinstallation an den betroffenen Arbeitsplätzen? Wäre zwar aufwendig würde aber ggf. Registryeinträge anpassen....
colinardo
colinardo 11.08.2016 aktualisiert um 09:29:43 Uhr
Goto Top
Was meinst du von einer Office-Neuinstallation an den betroffenen Arbeitsplätzen?
Halte ich gar nichts von, ein neues Windows-User-Profil sollte eventuelle Leichen in der Registry bzw. AppData Ordner tilgen, teste das mal.

Man kann alternativ auch den alten Servernamen ruhig noch im DNS hinterlegen wenn er auf die IP des neuen Servers zeigt und man auf dem neuen den alten Namen zusätzlich noch als SMB Name einträgt,
http://www.techrepublic.com/blog/the-enterprise-cloud/adding-multiple-n ...
dann sollten auch die zickigen Clients befriedigt sein. Oder man nutzt DFS-Namespaces.
padimonu
padimonu 11.08.2016 um 09:26:08 Uhr
Goto Top
Okay ich werde das mal in den nächsten Tagen testen. Vielen Dank.