Excel ändert selbstständig alle Links in Arbeitsmappen

Man speichert „jahrelang“ Excel-Dateien auf dem Netzlaufwerk, hat dort jede Menge Links auf andere (Netzwerk-)Dateien gesetzt alles funktioniert wunderbar. Doch plötzlich gibt es beim Klick auf die Links nur noch Fehlermeldungen, nicht geht mehr.

Es erscheint statt der Dokumente ein „Sicherheitshinweis“ und vermeldet „Office hat ein potentielles Sicherheitsrisiko erkannt“. Außerdem sei „Dieser Speicherort ist möglicherweise nicht mehr sicher“.

Vorweg: Links in Excel-Dokumenten zu anderen Dokumenten sind (außer in Web- oder SharePoint Dateien) nicht absolut. Die Links bleiben also nicht bei dem was man manuell hinterlegt, sondern werden „verwaltet“. Excel versucht anhand eines Regelwerkes die Links „funktional“ zu halten und ändert beim Speichern gerne „mal eben“ alle Links des Dokumentes entsprechend ab.

Was ist das? Links zu Dokumenten auf Netzlaufwerken sind auf einmal „geändert“?

Das „Regelwerk“ das Excel nun dazu nutzt ist zum Glück ganz gut dokumentiert:
https://support.microsoft.com/de-de/topic/beschreibung-der-linkverwaltung-und-speicherung-in-excel-46628e8d-2cd6-db5f-3474-f8d7144b09d6

Ein wahrscheinliches Szenario das wir schon öfter gesehen haben könnte also zum Beispiel so aussehen:

  • Es gibt ein Netzlaufwerk X: das von \\Server\Share\Folder verbunden ist
  • Es gibt Links in einer Arbeitsmappe dort und das Dokument wird stets dort bearbeitet
  • Man öffnet die Datei vermeintlich von dort
  • Man speichert die Datei wieder dort
  • Oh nein! Alle Links sind geändert und stehen plötzlich auf Profilpfaden (%appdata%\local\Folder) oder dem Systemlaufwerk (C:\Folder)

Das, also der „Link-Verlust“ (das Phänomen nennt sich neudeutsch auch „Link-Loss“) passiert immer wenn:

  • Das Dokument (=der PC) zwischen durch „Offline“ war und Windows die Datei im Offlinecache bearbeitet hat. Der liegt nämlich auf c:\ (siehe CSC)
  • Die Datei mal „kopiert“ wurde, zum Beispiel auf einen USB-Stick oder den Desktop (C:\ oder f:\ …)
  • Die Datei via UNC-Pfad geöffnet wurde (\\Server\Share\Folder\Datei.xlsx)
  • Die Datei wurde automatisch zwischengespeichert (Default: 10 Minuten). Das passiert (Default) in %appdata%\roaming\microsoft\excel

In diesen Varianten findet Excel keinen Referenzort der Datei mehr zum relativen Pfad des geöffneten Dokumentes und ändert aus „Sicherheits- und Komfortgründen“ alle Pfade. Allerdings erst beim speichern, solang das Dokument noch geöffnet ist, ist die „zukünftige“ Änderung nicht sichtbar.

Lösung

Es gibt keine „richtige“ Lösung. Links in Excel-Tabellen sind supergefährlich. In dem Moment in den Man Daten (wie z.B. Links) in einer Tabellenkalukation verwendet, ist etwas schief gelaufen, Daten verwaltet man in Datenbanken (z.B. Access).

Aber: man kann das Problem etwas einzuschränken. Das geht natürlich auch per GPO.

  • „Automatisches Speichern“ komplett deaktivieren
  • Unter Optionen/Speichern -> Automatisches Speichern den standardmäßigen Speicherort auf den (relativen!!) Pfad des Dokumentes ändern. Je nach Anzahl der Netzlaufwerke ist es natürlich unsinn, bei jeder Datei den Ort immer wieder zu ändern.

Excel (und alle anderen Office-Apps) speichern alle 10 Minuten die aktuellen Dateien. Das ist auch sehr gut so, denn wenn eine Office-App mal abstürzt oder der Datei-Handle verloren geht (Standy, Docking-Station, WLAN-Wechsel, Windows-Updates, USB-Stick Backup, Netzwerktrennung …) wird man ja von der „letzte bekannte Version“ begrüßt. Selbige kommt genau daher.

Uptime von Aruba/HPE/ProCurve Switches anzeigen

Und schon wieder ein Fall von „Notiz an mich selbst“. Jedesmal google ich nach dem Befehl für die Uptime von Switches … vermutlich jetzt nicht mehr. Die „uptime“ ist in der SYSINFO, also in der Lokalen System-Information Tabelle enthalten. Die gibt’s per SNMP und natürlich auch am CLI, also an der Console.

Uptime von ProCurve Switches anzeigen

show system-information

Und so sieht die Ausgabe von system-information aus:

Windows Store Apps (manuell) herunterladen und Installieren

Im Windows Store finden sich viele nette Apps in einem brauchbaren UI die komfortabel zu installieren sind. Leider beschränkt sich das auf Computer die Online sind und auf einen voll „funktionalen“ Store.

Leider kann man die Apps (*.appx oder *.appxbundle) nicht „freiwillig“ direkt herunterladen und installieren. Wenn man also Apps „offline“ installieren will, muss man etwas tricksen.

1) Windows Store Apps Download-Links erstellen

Download-Links für Store-Apps kann der Webdienst https://store.rg-adguard.net/ erstellen. Name/URL oder ID eingeben die man aus dem Web-Store kopieren kann.

2) Windows Store Apps Installieren

Das *.appxbundle kann dann im Explorer einfach via Doppelklick installiert werden.

Windows Treiber via PowerShell installieren (Windows Server Core)

Treiber unter Windows an der Kommandozeile erstellen

Unter Windows Server 2012R2/2016/2019/2022 Core oder dem (kostenfreien) Hyper-V-Server gibt es bekanntlich keine GUI und konsequenterweise daher auch keinen Gerätemanager. Selbiger lässt sich auch nicht immer, vor allem wenn man noch „alleine“ ist, remote ansprechen. Wie kann man also da jetzt Treiber installieren/aktualisieren/entfernen? Also wie bekommt man Treiber auf einen Core Server?

Das kann man zum Glück ganz gut mit der PowerShell machen; genauer gesagt mit den guten alten CMD-Werkzeugen pnputil und devcon. Selbige kann man aber aus PowerShell-Schleifen heraus komfortabel starten.

Einen Treiber installieren

Man fügt einen bestimmten Treiber mit pnputil zum Windows-Treiber Repository hinzu.

pnputil.exe -i -a <PFAD>\oemdriver.inf

Alle Treiber aus dem aktuellen Verzeichnisses (mit Unterverzeichnissen) installieren

Zum Beisipel aus HPE oder DELL Repositories kann man so „mal eben“ alles in einem Rutsch zu Windows hinzufügen:

Get-ChildItem -Filter *.inf -Recurse | Select-Object FullName | ForEach-Object {pnputil -a $_.FullName}

Auflisten aller 3rd Party Treiber im Repository

Zeigt, auch unter einem „normal“ laifenden Windows, alle Dritt-Treiber an.

pnputil.exe -e

Entfernen eines Treibers aus Windows

Der <NAME> des Treibers findet sich in der Ausgabe von pnputil -e unter „Veröffentlichter Name“.

pnputil.exe -d oem<NAME>.inf

root password in VMware vCenter Server Appliance zurücksetzen „Authentication token manipulation error“

Das lokale root-Kennwort einer VCSA zurückzusetzen ist, Konsolenzugriff vorausgesetzt, gar nicht so schwer. Das „Photon OS“ ist ja auch „nur“ ein Linux mit ein paar Extras.

root Kennwort an der Konsole zurücksetzen

  • vCenter neu starten
  • Beim booten ‚e‘ drücken um die GRUB-Config zu öffnen
  • Den linux call um init=/bin/bash ergänzen
  • Mit STRG+X die VM booten
  • An der daraufhin als root laufenden bash einfach mit passwd das Kennwort zurücksetzen

Wenn man an dieser Stelle (wie ich soeben) das rw in der Zeile vergisst, erhält man statt der Meldung „passwd: password updated successfully“ die zuerst seltsam erscheinende Meldung „passwd: Authentication token manipulation error with password unchanged“.

Man könnte die Appliance natürlich einfach neu starten und die Zeile mit rw init=/bin/bash korrekt ergänzen, aber man kann natürlich die Partition einfach nachträglich als Read/Write mounten, root ist man ja schon:

mount -o remount,rw /

Danach tut es passwd auch wieder wie gewohnt 🤦