Warum kann ich in Windows Server 2008 eine Datei nicht zum Bearbeiten per Drag & Drop in den Editor ziehen?

Warum kann ich in Windows Server 2008 eine Datei nicht zum Bearbeiten per Drag & Drop in den Editor ziehen?

Wenn Notepad ausgeführt wird, kann ich eine Datei per Drag & Drop öffnen, aber dann kann die Datei nicht gespeichert werden. Wenn ich Notepad mit erhöhten Rechten ausführe, um die Datei zu speichern, kann ich die Datei nicht mehr per Drag & Drop öffnen.

Ich verstehe, dass es ein Sicherheitsrisiko darstellt, eine Datei aus einem Programm ohne erhöhte Rechte in ein Programm mit erhöhten Rechten zu ziehen. Wenn ich den Explorer jedoch auch mit erhöhten Rechten ausführe, kann ich die Datei trotzdem nicht per Drag & Drop in den Editor mit erhöhten Rechten ziehen.

Warum erlaubt das Betriebssystem nicht, dass zwei erweiterte Programme Informationen per Drag & Drop austauschen? Ich überlege ernsthaft, stattdessen wieder auf Windows Server 2003 umzusteigen.

Bearbeiten: Es scheint, dass zwei erhöhte Programme Informationen austauschen können; Explorer konnte nur nicht erhöht werden. Sobald Explorer erhöht ist, können Dateien vom Explorer in einen erhöhten Notizblock gezogen werden.

Antwort1

Die Unfähigkeit, per Drag & Drop vom Explorer in ein erhöhtes Notepad-Fenster zu ziehen, ist eine Manifestation der Privilegienisolation der Benutzeroberfläche (UIPI)-Funktion. Sie ist Teil des Betriebssystems, um zu verhindern, dass eine weniger privilegierte Anwendung beliebige „Nachrichten“ (im Sinne der Interprozesskommunikation zwischen Betriebssystem und Anwendung) an eine andere, höher privilegierte Anwendung sendet. Wenn die höher privilegierte Anwendung eine Nachricht falsch verarbeitet, kann es sein, dass die weniger privilegierte Anwendung die höher privilegierte Anwendung dazu veranlasst, in ihrem Namen beliebigen Code auszuführen (diese Art von Angriffen wird bezeichnet alszerschmetternAngriffe, so benannt in einem Dokument aus dem Jahr 2002, in dem die Angriffsmethode in den damals aktuellen Windows-Versionen beschrieben wird).

Sie können es sich ein wenig wie eine „Firewall“ zwischen Anwendungen vorstellen, die mit einer niedrigeren „Integritätsstufe“ (unprivilegiert) ausgeführt werden, und solchen mit einer höheren Integritätsstufe (erhöht).

Wenn duWIRKLICHwenn Sie einen Windows Explorer mit erhöhten Rechten wünschen, gehen Sie wie folgt vor:

  • Starten Sie eine Eingabeaufforderung mit erhöhten Rechten und lassen Sie sie geöffnet.
  • Starten Sie den Task-Manager und erhöhen Sie die Berechtigungen, indem Sie auf die Registerkarte „Prozesse“ gehen und auf „Prozesse aller Benutzer anzeigen“ klicken.
  • Markieren und beenden Sie alle Instanzen von Explorer.Exe mithilfe des Task-Managers.
  • Geben Sie im noch geöffneten Eingabeaufforderungsfenster mit erhöhten Rechten „Explorer“ ein und drücken Sie die <Eingabe>-Taste.

Der Explorer wird mit erhöhten Rechten erneut geöffnet.

Antwort2

Wenn Sie UAC nicht deaktivieren möchten, können Sie versuchen, einfach UIPI (User Interface Privilege Isolation) zu deaktivieren.

Öffnen Sie regedit und gehen Sie zu:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Fügen Sie einen neuen DWORD (32-bit) ValueNamen hinzu EnableUIPIund legen Sie ihn auf fest 0.

Starten Sie die Maschine neu und prüfen Sie, ob sie sich wie gewünscht verhält.

Antwort3

Dies war ein Problem unter Vista, und ich schätze, es hat sich auch auf Server 2008 ausgebreitet. Grundsätzlich können Sie den Explorer nicht mit erhöhten Rechten ausführen. Sie erhalten die Sicherheitsoption, um dies zu tun, und es scheint zu funktionieren, als Sie dies getan haben, aber tatsächlich erhalten Sie immer noch ein Standard-Explorer-Fenster (ohne erhöhte Rechte), daher das Problem, das Sie haben.

Die Workarounds, die ich in der Vergangenheit verwenden musste, beinhalteten entweder die Verwendung des Explorer-Fensters „Speichern als“ in Ihrer erhöhten Notepad-Sitzung, da diese ebenfalls erhöht ist, oder die Verwendung einer erhöhten Eingabeaufforderung zum Erstellen von Dateien, aber offensichtlich behebt keine dieser Methoden Ihr Drag-and-Drop-Problem. Es ist ein ziemlich beschissener Fehler, den es schon seit einiger Zeit gibt. Ich weiß nicht, warum sie ihn nicht beheben, sodass Sie eine erhöhte Explorer-Instanz ausführen können.

Antwort4

Ich würde vermuten, dass der Code, der für die Zusammenstellung der für Drag & Drop erforderlichen Details zuständig ist, zusammen mit der übrigen Benutzeroberfläche (einschließlich Explorer) in einem nicht erhöhten Kontext ausgeführt wird und daher nicht auf die Pipe-Informationen zwischen den beiden Prozessen zugreifen kann.

verwandte Informationen