Seit kurzem steht bei OneDrive eine neue Funktion „Known Folder Move“ bereit. Diese erlaubt es, dass man die Standard-Ordner für die Dateiablage auf dem eigenen Computer (also „Dokumente“, „Bilder“ und natürlich „Desktop“) im Ordner C:\Users\{Username} mit dem OneDrive synchronisiert. Das hat den großen Vorteil, dass die Anwender ihre Dateien einfach dort lassen können wo sie bisher auch waren und dabei vollständig von OneDrive profitieren.
Das wollte ich natürlich direkt ausprobieren, die notwendigen Basics dazu findet man hier: https://techcommunity.microsoft.com/t5/Microsoft-OneDrive-Blog/Migrate-Your-Files-to-OneDrive-Easily-with-Known-Folder-Move/ba-p/207076
und hier:
https://docs.microsoft.com/en-us/onedrive/redirect-known-folders
In den Artikeln wird auch beschrieben, wie man diese Funktion von zentraler Stelle aus steuern kann. Sehr praktisch, wenn ein Rollout geplant ist. Benötigt wird nur ein aktueller OneDrive Client, der kommt automatisch per Update aus dem Internet. Praktischer Weise kann die IT-Abteilung Updates des OneDrive-Clients nicht verhindern, sondern maximal um 60 Tage verzögern (Quelle: https://docs.microsoft.com/de-de/onedrive/sync-client-update-process). Insofern dürfen sich die meisten mit installiertem Client darauf freuen in den Genuss der neuen Funktion zu kommen.
Weniger erfreulich ist, wenn man den Prozess startet und dann diese Fehlermeldung bekommt:
“Eigene Bilder” in Dokumente ist eine Verzeichnisverbindung oder ein Symlink und kann nicht geschützt werden. Um fortzufahren, verschieben oder löschen Sie dieses Element, und versuchen Sie es noch mal.
Fehlermeldung Symlink im Ordner Dokumente
Symlink-Was? Der Ordner „Dokumente“ ist für mich der wichtigste von allen. Ich lege zwar auch gern Dinge auf dem Desktop ab, aber die wichtigsten Dateien liegen nunmal im Ordner Dokumente. Wie also jetzt weitermachen? Einfach im Explorer den Link finden und löschen klappt nicht, denn
Was ist ein Symlink?
Symlinks sind aufgebohrte Verknüpfungen. Sie erlauben es so zu tun, als ob der Ordner auf den der Symlink zeigt, tatsächlich an der Stelle liegt an der der Symlink angelegt wurde. Beispiel:
Ich habe ein Verzeichnis „C:\Code“. Eine Anwendung erwartet aber, dass das Verzeichnis unter „C:\Users\MarkusIhloff\Documents\Code“ liegt. In diesem Fall kann ich im Verzeichnis „C:\Users\MarkusIhloff\Documents\“ einen Symlink mit dem Ziel „C:\Code“ anlegen und das Programm (und ggf. auch der Nutzer) merkt nicht, dass die Dateien eigentlich an anderer Stelle liegen.
Der konkrete Symlink ist zwar im Verzeichnis Dokumente, allerdings konnte ich dort keinen entdecken. Erst mit Hilfe der PowerShell konnte ich die vorhandenen Symlinks finden.
Wo kommt der Symlink „Eigene Bilder“ im Ordner „Dokumente“ her?
Keine Ahnung. Der Fehler ist auf zwei unterschiedlichen Geräten aufgetreten: Ein von der IT aufgesetztes Gerät und ein selbst verwaltetes Surface Pro. Ich vermute, dass die Symlinks über eine Windows-Funktion erzeugt wurden, um die abwärtskompatibel mit der Verzeichnisstruktur von älteren Windows-Generationen zu sein. Wer genaueres weiß darf sich gerne melden. Ich kann mir nicht vorstellen, dass ich bei 500 Millionen Windows 10-Installationen alleine bin.
Wie werde ich die Symlinks wieder los?
Was man per PowerShell finden kann lässt sich auch per PowerShell löschen. Die PowerShell als Admin starten und in das Verzeichnis wechseln in dem die Symlinks “stören”. Danach diesen Code ausführen:
WICHTIG! Dieser Code löscht alle Symlinks in dem Verzeichnis in dem man sich mit PowerShell aktuell befindet. Vorab unbedingt über die Ausgabe von $items prüfen, welche Symlinks gefunden und damit gelöscht werden!
$items = Get-ChildItem -Force | Where { $_.Attributes -match "ReparsePoint"} $items | ? {$_.Delete()}
Ob man diese Symlinks bedenkenlos löschen kann muss jeder für sich selbst entscheiden – ich übernehme natürlich keinerlei Haftung dafür. Bei mir sind in rund 4 Wochen bisher keine Probleme aufgetreten – vermutlich sind vor allem alte Programme auf diese Funktion angewiesen, da „früher“ (zu XP-Zeiten?) die Ordner „Bilder“ und „Videos“ innerhalb von „Dokumente“ lagen. Wenn man übrigens etwas mit der PowerShell herumsucht findet man noch einige dieser verstecken Symlinks zum Zweck der Abwärtskompatibilität.