3 Minuten Lesezeit (551 Worte)

„Lass uns in Kontakt bleiben“: Ordner außerhalb von OneDrive synchronisieren

Seit einigen Jahren nutzen wir bei der ORDIX AG vermehrt die Produkte aus dem Microsoft 365 Abonnement (vormals Office 365). Hierzu zählt u.a. auch OneDrive for Business. Mittels OneDrive können meine Daten online in der Cloud abgelegt und gesichert werden. Ein weiterer Vorteil ist, dass ich über mehrere Geräte auf die Dateien in der Cloud zugreifen kann.

Letzte Woche wollte ich einen Ordner, welcher sich auf einem anderen Laufwerk befindet, in mein OneDrive synchronisieren. Leider musste ich feststellen, dass ich mit den Konfigurationen aus OneDrive heraus nicht zum Ziel kommen würden. (Abbildung 1)

Abbildung 1: OneDrive Ordner

Von Hause aus ist es nämlich nur möglich, die OneDrive-Struktur für die Synchronisation zu verwenden und so müssen Ordner oder Dateien von anderen Laufwerken, wie zum Beispiel eine zweite Festplatte, USB-Sticks oder externen Festplatten, in den OneDrive-Ordner verschoben werden.

Zunächst habe ich gedacht, dass eine simple Verknüpfung das Problem schnell beseitigen würde. Nachdem ich die Verknüpfung in meinem OneDrive-Ordner erstellt hatte (Abbildung 2), überprüfte ich den Ordner in meinem Browser. Hier ist zu sehen, dass eine Datei mit der Endung .lnk vorhanden ist (Abbildung 3). Ein Klick auf diese Datei führt aber leider nicht zum gewünschten Ergebnis (Abbildung 4).

Abbildung 2: Verknüpfung in OneDrive erstellen
Abbildung 3: .lnk Datei
Abbildung 4: Zugriff auf .lnk Datei

Die Lösung fand ich mit dem Kommandozeilen-Tool mklink. Details sind auf der offiziellen Seite von Microsoft zu finden: https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/mklink

Im ersten Schritt muss zum einen der Pfad des Quellordners (z.B. externe Festplatte) und zum anderen der OneDrive Ordner ausfindig gemacht werden. In diesem Beispiel möchte ich den Ordner D:\Demo_Ordner in OneDrive synchronisieren. Am besten sichert man sich den Pfad in eine Editor-Datei, da gleich ein weiterer Pfad (OneDrive-Ordner) in die Zwischenablage geholt werden muss.

Der OneDrive-Ordner ist in der Regel unter C:\Users\<username>\OneDrive zu finden. Alternativ kann dieser über das OneDrive-Symbol in der Taskleiste und Klick auf „Ordner öffnen" ausgelesen werden. In meinen Fall handelt es sich um den nachfolgenden Ordner: C:\Users\sbh\OneDrive - ORDIX AG

Im letzten Schritt muss der mklink-Befehl erstellt und über die Kommandozeile (cmd) ausgeführt werden.

Wichtige Hinweise:
Die Kommando-Zeile muss als Administrator gestartet werden. Der Zielordner in OneDrive darf noch nicht vorhanden sein, da sonst die folgende Meldung zu sehen ist.

Abbildung 5: mklink-Fehler

Für dieses Beispiel sieht der Befehl wie folgt aus:
mklink /d "C:\Users\sbh\OneDrive - ORDIX AG\Demo_Synch" D:\Demo_Ordner
Anschließend wurde eine simple Textdatei unter D:\Demo_Ordner erstellt und überprüft, ob diese auch über den Browser erreichbar ist (Abbildung 6).

Abbildung 6: Synchronisierte Datei über mklink

Kurze Erläuterung zum mklink-Befehl:

Syntax Erleuterung
mklink Programmaufruf
/dErstellt einen symbolischen Verzeichnis-Link. Standardmäßig erstellt dieser Befehl einen symbolischen Datei-Link.
"C:\Users\sbh\OneDrive - ORDIX AG\Demo_Synch"Ziel-Ordner (in OneDrive)
D:\Demo_OrdnerQuell-Ordner (hier andere Festplatte)

Fazit

Mittels eines sehr simplen Befehls lassen sich beliebige Ordner mit OneDrive synchronisieren, die nicht innerhalb der OneDrive Struktur physisch abgelegt sind. Meiner Meinung nach ist das eine sehr gute Möglichkeit, wenn man nicht seine über Jahre gewachsene Ordnerstruktur in den OneDrive-Ordner physisch verschieben möchte.

Senior Consultant bei ORDIX.

 

Kommentare 3

Gäste - Christian am Donnerstag, 05. Mai 2022 19:50

Es gibt auch eine Umgebungsvariariable: C:\> echo %OneDrive%

Es gibt auch eine Umgebungsvariariable: C:\> echo %OneDrive%
Gäste - Charly am Dienstag, 25. April 2023 09:15

Müsste man den Pfad zum Onedrive-Ordner nicht im Klient oder - falls das UI das nicht hergibt - inder Registry ändern? Ich denke, der Klient setzt die Umgebungsvariable, genauso wie das BS andere Umgebungsvariaben wie %USERNAME% oder %USERPROFILE% setzt. Die kann man zwar jederzeit in einer Anwendungsumgebung benutzten und auch überschrieben, gilt aber immer nur innerhalb dieser Anwwendung, z.B. CMD.exe

Müsste man den Pfad zum Onedrive-Ordner nicht im Klient oder - falls das UI das nicht hergibt - inder Registry ändern? Ich denke, der Klient setzt die Umgebungsvariable, genauso wie das BS andere Umgebungsvariaben wie %USERNAME% oder %USERPROFILE% setzt. Die kann man zwar jederzeit in einer Anwendungsumgebung benutzten und auch überschrieben, gilt aber immer nur innerhalb dieser Anwwendung, z.B. CMD.exe
Sebastian Herd am Donnerstag, 27. April 2023 16:20

Vielen Dank für die Kommentare. In meinem zweiten Artikel zu dem Thema habe ich beschrieben, wie man das Thema mittels Powershell löst:
https://blog.ordix.de/one-drive-sync-via-powershell

Hier sieht man auch die entsprechenden Umgebungsvariablen:
PS C:\Windows\system32> $env:OneDriveCommercial
C:\Users\sbh\OneDrive - ORDIX AG

Vielen Dank für die Kommentare. In meinem zweiten Artikel zu dem Thema habe ich beschrieben, wie man das Thema mittels Powershell löst: https://blog.ordix.de/one-drive-sync-via-powershell Hier sieht man auch die entsprechenden Umgebungsvariablen: PS C:\Windows\system32> $env:OneDriveCommercial C:\Users\sbh\OneDrive - ORDIX AG
Mittwoch, 24. April 2024

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie