- Betrifft: Ordnersymbol bei Netzwerkordner bzw. Ordner auf Netzwerkfreigaben festlegen
- System: Microsoft Windows 8.1, Windows 10, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
- Problem: Bei einem lokalen Ordner kann über die Eigenschaften ein Ordnersymbol festgelegt werden. Bei einem Netzwerkordner bzw. Ordner auf einem Netzwerklaufwerk kann kein Netzwerksymbol festgelegt werden.
Hintergrund
Bei einem lokalen Ordner kann man einfach über die Ordnereigenschaften ein Ordnersymbol festlegen. Dies ist bei bestimmten Systemordner bereits vordefiniert.
Dies macht je nach Organisation ebenfalls für Ordner auf Netzwerklaufwerken Sinn. Entweder um auf bestimmte Ordner direkt hinzuweisen bzw. diese gesondert hervorzuheben. Diese Netzwerklaufwerke liegen zumeist auf Netzwerkfreigaben und diese wiederum sehr oft auf Windows Server – mittlerweile sehr häufig in der “Server Core” Variante.
Die Zuweisung gestaltet sich jedoch etwas schwierig. Lokal wird die entsprechende Option für Ordnersymbol nicht angezeigt. Am Server selbst gibt es aus diversen Gründen ebenfalls keine Möglichkeit zur Konfiguration.
Grundsätzlich wird das Ordnersymbol über die versteckte Systemdatei “desktop.ini” konfiguriert. Es sind dazu drei Ordneroptionen notwendig bzw. empfohlen – siehe vorherige Screenshots. Nun sollte die Systemdatei im jeweiligen Ordner angezeigt werden.
Wird diese Datei z.B. mit Notepad geöffnet, dann kann im Bereich “[.ShellClassInfo]” unter “IconResource” das genutzte Icon gefunden werden. Entweder kann hier eine dll-Datei mit mehreren Icons oder direkt eine ico-Datei angeführt werden. Der Versuch einfach selbst so eine “desktop.ini” anzulegen scheitert ohne genaueren Grund – selbst wenn man eine korrekte Datei in einen anderen Ordner kopiert.
Behebung
Vergesst Drittherstellerprodukte. Es gibt unter Windows und Windows Server (inkl. Server Core) eine integrierte Möglichkeit zur Generierung. Dabei muss man nur auf zwei bestimmte Punkte aufpassen. Die “desktop.ini” muss in einer bestimmten Reihenfolge erstellt werden. Attribute sind kein Zwang. Der Ordner benötigt ein bestimmtes Attribut. Daher nachfolgend die einzelnen Schritte – abschließend folgt ein Skript.
1.) Erstellung “desktop.txt”
Im gewünschten Ordner muss einfach eine “desktop.txt” (nicht “desktop.ini”) erstellt und mit Notepad folgenden Eintrag ergänzt werden:
[.ShellClassInfo]
IconResource=R:\*Pfad*\*Ordnersymbol*.ico,0
Werte mit Sternchen müssen klarerweise angepasst werden. Neben einem Laufwerksbuchstaben ist ebenso eine Netzwerkfreigabe (Laufwerksbuchstaben) möglich.
2.) “desktop.txt” umbenennen
Nun erst die Datei von “desktop.txt” in “desktop.ini” umbenennen. Sollte dies zuvor bereits “desktop.ini” gewesen sein, dann wird es nicht funktionieren.
3.) Korrekte Ordnerattribut festlegen
Nun muss der Ordner das richtige Attribut bekommen. Ansonsten wird die “desktop.ini” ignoriert. Dazu am besten die Windows-Befehlszeile bzw. “Command Prompt” öffnen. Die Windows PowerShell hat bei mir nicht funktioniert. Je nach Ordnerrecht ist es möglich, dass dies lokal direkt am Windows Server gemacht werden muss. Es funktioniert grundlegend mit Laufwerksbuchstaben für Netzwerkfreigaben.
attrib +r *Ordnerpfad*
Das gewählte Ordnersymbol sollte nun angezeigt werden.
4.) Bei Bedarf kann für die “desktop.ini” die gleichen Dateiattribute gesetzt werden, wie es Windows selbst tun würde. Dies geht weiterhin mit der Windows-Befehlszeile bzw. “Command Prompt”.
attrib +s +h *Ordnerpfad*\desktop.ini
Ergänzung: Seit längerem habe ich für diesen Zweck ein Befehlsskript in Verwendung. Dies vereinfacht die Angelegenheit und wird aus dem jeweiligen Ordner gestartet. Dieses Skript habe ich nun überarbeitet und als Download zur Verfügung gestellt:

Skript zum leichterem Setzen eines Ordnersymbols bei lokalen Ordnern. Sollte reibungslos unter Windows 10 und ab Windows Server 2012 R2 (inkl. Server Core) laufen. Das Skript muss sich im jeweiligen zu konfigurierenden Ordner befinden und wird von dort aufgerufen.
Entwicklung via Github: BlackSeals/set_folder-icon