windows:windows-defizite-und-stärken

Windows Defizite und Stärken

dies ist eine kleine Aufstellung praktische Unzulänglichkeiten. Natürlich kann man mit den richtigen Tools einige der nicht grundsätzlichen Probleme beheben.

  • Fokus auf Konzerne
  • hohe Konfigurierbarkeit über Richtlinien
  • Starke Rechtevergabe (ACLs) incl. Vererbung sowohl für Dateien als auch der Registry
  • Integration von Snapshots (Volume Shadow Dienst) als Standardfeature
  • BITS - intelligenter Hintergrundübertragungsdienst
  • NTFS hat viele features die allerdings nicht von allen Programmen/APIs unterstützt werden (Beispiele s.u. Explorer, xcopy, Robocopy)
  • (Re)Deployment von Anwendungen über Silent-install (.exe) oder MSI-Pakete global oder Teilgruppen möglich

FIXME Natürlich fehlt hier noch einiges!

TOP-Probleme:

  1. historische Altlasten
  2. fehlende Transparenz 1)
  3. politische Entscheidungen von Microsoft
  • kein allgemeines und zentrales Updatesystem bzw. Paketmanager vorhanden, aktuell wird nur Microsoft-Software zentral aktuell gehalten (jede Anwendung nervt mit eigenen Updateprogrammen) siehe Updates für Alle - das Update-system funktioniert übrigens nicht ohne Internet-Explorer, eine Deinstallation ist also ausgeschlossen
  • Neustarts sind (immer noch) viel zu oft nötig (Grund ist das Dateilocking, s. u.) und bei Updates fast immer fällig
  • Dateilocking: man kann keine Dateien löschen die in Benutzung sind (Grund: Windows und Programme sperren die Dateien die geöffnet sind, d. h. solche die einen file handle haben, das ist auch der Grund warum Windows oft Neustarts braucht). Moderne Systeme stört das nicht und Programme müssen einen gleichzeitigen Zugriff bereits bei der Programmierung berücksichtigen.
  • Versionenkompatibilität
    • Parallelinstallationen mehrerer Windows-versionen zerstört Daten:
      • WinXP überschreibt die Wiederherstellungpunkte und Datensicherungspunkte/Schattenkopien von Vista/Win7 wenn der Datenträger eingehangen wird2)
    • Dateisystem / Partitionierungskompatibilität:
      • WinXP startet von Sektor 63, spätere Versionen von Sektor 1024. Deshalb dürfen neue Partitionen nur mit Win7 angelegt werden, sonst ist die Win7-Partition verschwunden!
      • WinXP weigert sich auf von Win7 erstellte NTFS-Partitionen zu installieren
  • Sicherheitslücken sind (im Vergleich zu anderen Betriebssystemen) überdurchschnittlich häufig kritisch und eignen sich zur entfernten Ausnutzung. Aktuelle Lücken: siehe hier und hier.
  • das Signalkonzept beachtet keinen User/Security-Kontext, das führt zu allerlei Sicherheitsproblemen (z.B. kann eine beliebige Anwendung andere Anwendung Benutzer-aktionen vorgaukeln oder einem Programm vorspielen dass Windows heruntergefahren wird)
  • das Dateisystem NTFS fragmentiert stark, weil alle Dateien an den Anfang der Festplatte gelegt werden). Moderne Dateisysteme verteilen die Daten gleichmäßig auf der Platte und packen nicht linear alle Datei hintereinander an den Anfang.
  • Erkennung der Dateitypen findet auschließlich anhand der Dateiendungen statt, umbenennen heißt: Dateityp unbekannt. (moderne Systeme erkennen am MIME-Typ oder charakteristischen Zeichenketten den Dateityp)
  • Windows ist nur auf wenigen Architekturen lauffähig - aufgrund der oft nötigen binär-Kompatibilität (kein Quellcode verfügbar zur Portierung oder unwirtschaftlich) ist de facto nur noch Intel x86 von Bedeutung (incl. AMD64 bzw. x64 oder x86-64):
    • Itantium wurde nach Windows XP bzw. Windows Server 2008 R2 eingestellt
    • Windows RT (Arm) wurde 2015 eingestellt
    • → zum Vergleich die Architekturliste von Linux: IA-32, AMD64/x64, Alpha AXP, Sun SPARC, Motorola 68000, PowerPC, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, IA-64, AXIS CRIS, Renesas M32R, Atmel AVR32, Renesas H8/300, NEC V850, Tensilica Xtensa und Blackfin.
  • Internet Explorer 3)
    • ist gleichzeitig Dateimanager, Desktopmanager und Browser (konzeptionelle Sicherheitslücke) - ist jedoch zugunsten vom Browser Edge abgekündigt
    • durch Active-X-Controls können böswillige Seiten nach einer Sicherheitsabfrage (die Benutzer normalerweise nicht verstehen) im Browser bequem Programme mit den Rechten des Benutzers ausführen, ein stringentes Sicherheitskonzept fehlt bis heute. Auch Silverlight 5 wird die Möglichkeit haben nativen Code auszuführen (der aber immerhin signiert sein muss).
  • UNC-Pfade sind mit ipv6-Adressen nur durch einen nicht durchgängig funktionierenden workaround nutzbar
  • unnötige Wartezeiten bei der Arbeit im LAN (wenn ein Computer oder Drucker nicht mehr verfügbar ist, kann man zwangsläufig für 30sek im Explorer nichts mehr machen; das Durchsuchen von Netzwerken dauert lange, teilweise ist erst nach einigen Minuten überhaupt alles zu sehen. Devise: Warten und hoffen.)
  • das Standard-protokoll für Freigabe (hieß früher SMB, jetzt CIFS = „Common Internet File System“) ist für langsame(re) WAN-Verbindungen nicht geeignet, CIFS ist ein reiner Marketingname, es ist weder allgemein gebräuchlich („common“) noch wird es im Internet benutzt, noch ist es tatsächlich ein Dateisystem („File System“).
  • es ist nicht möglich einen Datenträger schreibgeschützt zu verwenden ohne auf den Datenträger zu schreiben (wichtig speziell für forensische Analysen bzw. bei fehlerhaften Geräten). Einseits hängt Windows selbstständig neu-erkannte Datenträger sofort ein (was abschaltbar ist), der Status „nur schreibgeschützt einhängen“ muss aber auf den Datenträger geschrieben werden und funktioniert nicht auf allen Versionen. Auch bei der Installation lassen sich NTFS-Partitionen nicht sicher vom Zugriff ausschließen.
  • ineffiziente Caches, die Auslagerungsdatei wird (unnötigerweise z. B. für Kernelspace-auslagerungen) sehr früh benutzt um mehr Cache anbieten zu können.
  • Rechtesystem intransparent: Manche Programme starten nie mit Administrationsrechten (Datei-Explorer) andere dagegen ohne Nachfrage (Datenträgerverwaltung), viele Programme erkennen nicht ob Sie genügend Rechte haben und geben irreführende Fehlermeldungen. Einige Drittanbieter-updater installieren extra Dienste für den Updateprozess
  • mitgelieferte Software hat große Funktionslücken „crapware“
    • Windows-Explorer
      • ist umkomfortabler als (das könnte man allerdings als Gewöhnungsfrage abheften)
      • bricht bei einer Kopieraktion nach einem Fehler bei einer Datei den kompletten Kopiervorgang ab, kein überspringen möglich
      • kann auch keine hard-links (ein NTFS-feature) richtig zählen: Explorer kann nicht zählen Zahlreiche Alternativen zeigen wie es geht: Q-Dir, Total-Commander, QTTabBar
    • xcopy und Robocopy kennen keine hard-links daher belegen diese Dateien auf dem Ziel plötzlich doppelt Platz
    • notepad kann nicht einmal Zeilenumbrüche von Mac/Linux/Unix richtig darstellen
    • notepad und wordpad können keine Zeilennummern anzeigen
    • paint kennt keine Ebenen und andere wichtige Funktionen und das obwohl Microsoft paint.net mitentwickelt hat
    • interner Packer kennt weder das rar noch das 7zip-Format
    • Brennfunktionen von XP kann nur CDs brennen
  • Pfadnamen 4)
    • Die Länge des Pfades + Dateiname darf theoretisch 260 Zeichen nicht überschreiten, praktisch eher 255 Zeichen5)
    • Viele Sonderzeichen ( < > : „ / \ | ? * ) dürfen nicht im Namen vorkommen 6)
    • Gerätenamen (Relikt aus DOS-Zeiten!) dürfen nicht im Namen vorkommen: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9.
    • Unicode wird nicht von allen (System-) Funktionen unterstützt (und sogar Dateinamen stillschweigend in die aktuelle Codepage, eingestellt unter „language for non-unicode programs“, umgewandelt), es verwenden viele Programme nicht die „wide character“-Versionen der Systemfunktionen (_wfopen, etc.)
  • Symlinks (symbolische Verknüpfungen) sind schlecht und unvollständig implementiert:
    • Anwendungsunterstützung schlecht (auch erst seit Vista dabei)
    • Anwender können Symlinks nicht ordentlich benutzen (aktuell nur als elevated/Administrator-Benutzer nutzbar - aber nicht als Benutzer „SYSTEM“), zukünftig (Plan: Windows 10 Insiders build 14972 - dort aber nur wenn System und Programm im DEV-mode), in Zukunft muss SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE in der CreateSymbolicLink API benutzt werden
    • merkwürdige fallback-Strategie bei mklink: ohne Admin-recht oder Parameter wird eine lnk-Datei erstellt, ansonsten muss man angeben ob das Ziel ein Verzeichnis (-d) oder eine Datei (-f) ist
  • der mit gelieferte NTP-Dienst ist ungenau: Er soll lediglich dafür sorgen, dass die Abweichung der Systemzeit von der Quelle höchstens im unteren Minutenbereich liegt, damit die Kerberos-Authentifizierung innerhalb von Domänen funktioniert.“ Quelle.
  • Offlinedateien kommen mit einem wichtigen Fall nicht zurecht: Dateien sind auf Server gelöscht und während der Offlinezeit lokal geändert worden. Man kann die lokalen Dateien nicht einfach wieder auf den Server stellen sondern muss manuell jede einzelne Datei wieder an ihrem Ort kopieren. 7)
  • Speicherverbrauch (Bespiel: Vista. Unter 1 GB geht zum arbeiten nicht viel). Statt daran zu arbeiten erfindet Microsoft Sachen wie ReadyBoost um Sticks als Cache zu benutzen. Der wird dann auch noch verschlüsselt 8) was dann aber wiederum Rechenzeit kostet. Der Arbeitsspeicher wird natürlich nicht erweitert, da auch ein USB-Stick zu langsam als Arbeitsspeicher ist. Win7 verhält sich deutlich sparsamer belegt allerdings immer noch zuviel Speicher (der nicht als Cache oder Stand-by gekennzeichnet ist) als nötig, dieser steht bei weniger verbautem Speicher plötzlich doch zur Verfügung.
  • Windows geht beim Bevormunden des Benutzers zu weit: Ordnernamen werden gnadenlos eingedeutscht, ab Vista sogar noch extremer, da sich die Ablageverzeichnissen geändert haben. Tatsächlich sind die Ordner englisch auf der Festplatte, Beispiel Der Ordner „Program files“ wird als Programme angezeigt, existiert aber als Ordner nicht. Andere Ordner sind nicht direkt erreichbar, z. B. ist C:\Windows\system32\SnippingTool.exe von einem 32 Bit-Programm aus nur über C:\Windows\Sysnative\SnippingTool.exe erreichbar.
  • Suchpfad: Jedes Programm das es braucht muss den Suchpfad (%path%) um den eigenen Installationspfad erweitern. Sinnvoller wäre ein ordentliches systemweites Verzeichnisschema gewesen mit einem einzigen bin-Ordner der alle exe-Programme enthält.
  • Internet Explorer (abgekündigt, Nachfolder hMicrosoft Edge)
    • hängt permanent den W3C-Standards hinterher (ebenso mit der Javascript-performance) obwohl das Problem mit aktuellen Versionen deutlich entschärft ist
    • Addons werden deaktiviert wenn die Toolbar ausgeblendet werden soll (bug oder feature?)
    • diverse propreitäre Erweiterungen (VML, VBScript, Active Documents)
  • die Dokumentation ist dürftig, die Hilfe gibt nur allgemeine Informationen
  • Integration von verbreiteten Standards schlecht (SSH in Vorbereitung 9), WebDAV sehr langsam und fehlerhaft, FTP so halbwegs)
  • unsinnige Standardvorgaben (Beispiel: Dateiendungen ausblenden, starkes Stück für ein Betriebssystem das MIME-Types ignoriert und ausschließlich anhand der Endung das verknüpfte Programm startet oder eine Datei als Programm ansieht)
  • die Systemprotokolle zur Fehlerdiagnose sind kaum zu gebrauchen (wenn überhaupt kann man mit den Event-IDs nur im Internet nachschauen bzw. in der know-something-base ;-)
  • servergespeicherte Profile
    • können nicht gleichzeitig für Win 2000/XP und Vista-Arbeitsplätze gelten, da mit Vista ein neues Format existiert (es wird „.V2“ nach dem Benutzernamen angehängt). Somit müssen pro Benutzer zwei unabhängige Profile gepflegt werden falls ein MA sowohl auf XP als auch auf Vista/7 arbeitet.
    • werden lokal gecacht und verstopfen die Festplatten auf C:, löschen geht nur manuell und zu lange Dateiname könnten auch das verhindern. Glücklicherweise gibt es Programme wie delprof2 die den Wahnsinn fixen.
  • Terminal/Eingabeaufforderung lässt sich nicht beliebig skalieren (WTF?)
  • Netzwerk-Einstellungen lassen sich nicht temporär (bis zu neustart) festlegen, mann muss wieder zurückstellen
  • keine virtuellen Desktops (mit dem Fenstergruppieren kann doch keiner produktiv arbeiten)
  • Es gibt keinen systemweiten Passwortmanager/Schlüsselbund, somit bildet jede Anwendung ihre eigene Insel
  • nervige Meldungen und Pop-up Fenster (Beispiel: Der Assistent für unbenutzte Icons auf dem Bildschirm, die Tastatur-sprachumschaltung: Tauscht überhaupt jemand regelmäßig seine Tastaturen gegen ausländische Modelle aus???)
  • Ostereiersuche nach Einstellungen (gutes Beispiel: Die Netzwerkeinstellungen)
  • Kommandozeilen-Befehle sind umständlich und lang. Beispiele:
    netsh interface ipv4 set dnsserver “Local Area Connection” static DNS-IP
  • Auf der Kommandozeile den Server zu konfigurieren ist umständlich bis gar nicht möglich.
  • Eine nachträgliche Installation der grafischen Oberfläche ist bei „Core“ nicht vorgesehen
  • Ab Vista/Win7 erfordert die Ablage von Dateien außerhalb des Home-Ordners abfragen nach Administrativen Rechten
  • Im Explorer gibt es unter Win7 schon die Option Laufwerkbuchstaben auszublenden
  • Dateiattribute werden immer unwichtiger (Archiv, …)

1)
bei Fehlern der eng-verzahnten Komponenten, komplexe Anwendungsfehler mit 3rd level-Support lohnen i.d.R. gegenüber Neu-Installation nicht
2)
Grund ist die fehlende Schattenkopienfunktionaliät unter WinXP, ein grundsätzlicher Fix wird nicht kommen da zu aufwändig. workaround wärre nur den Datenträger Offline zu nehmen: unterhalb von HKEY_LOCAL_MACHINE\System\Mounted-Devices den Schlüssel „Offline“ anlegen und darin den DWORD-Unterschlüssel \DosDevices\D: mit dem Wert 1 wenn Win7 von XP aus gesehen auf Laufwerk D: ist
3)
auch böshaft als Internet Exploiter bezeichnet
5)
wobei aber einige Unicode-Versionen Funktionen ungefähr 32 000 Zeichen unterstützen, zusammengesetzt aus Teilen von 255 Zeichen.
7)
Der Dialog unter Win7 zeigt nicht mal vollständig an wo diese vorher lag, das muss man sich aus einer xml-Datei selbst heraussuchen.
8)
notwendig weil der Stick sensible Daten des Arbeitsspeichers enthält und abgezogen werden kann
9)
Stand Anfang 2016