Wie prüfe ich, ob ein Programm als Administrator konfiguriert ist?

501
Paul Reissmann

Es scheint, dass es unzählige Threads gibt, die fragen, wie man prüft, ob ein Prorgam als Admin ausgeführt wird, oder wie man ein Programm so einstellen kann, dass es als Admin in Windows ausgeführt wird. Meine Frage ist jedoch: Wie kann ich prüfen, ob ein Programm als Admin ohne ausgeführt wird es läuft eigentlich? Ich muss das auch automatisch überprüfen können.

Ich weiß, ich kann einfach mit der rechten Maustaste auf ein Exe klicken und überprüfen, ob ein Programm als Administrator ausgeführt wird. Ich brauche jedoch eine Möglichkeit, dies automatisch zu überprüfen, da eine von mir ausgeführte App wissen muss, ob eine bestimmte EXE-Datei als ausgeführt wird admin oder nicht und treffen Sie eine Entscheidung auf der Grundlage dieser Eigenschaft.

2
In der Benutzeroberfläche gibt es zwei Stellen, an denen Sie erkennen können, ob eine ausführbare Datei oder Verknüpfung als Administrator konfiguriert ist. Öffnen Sie die Eigenschaften für die Datei / Verknüpfung, und die beiden Bereiche sind die Schaltfläche Erweitert und die Registerkarte Kompatibilität. Die Einstellungen, die an diesen Orten vorgenommen werden, sind nicht identisch, haben jedoch die gleiche Wirkung. Die Kompatibilitätseinstellungen werden in der Registrierung HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers gespeichert. Ich glaube, die erweiterten Flags sind Eigenschaften, die an die Verknüpfung selbst gebunden sind. music2myear vor 5 Jahren 0
Dieser Registrierungsschlüssel ist perfekt! Vielen Dank! Die HKLM-Version der appcompatflags / -Layer bezieht sich auf die für alle Benutzer festgelegten Eigenschaften von Prorgams, und die HKCU-Version bezieht sich nur auf den aktuellen Benutzer. Das hätte ich nie gedacht. Paul Reissmann vor 5 Jahren 0
Ich mache das jetzt zu einer Antwort, aber ich möchte testen, ob Sie die Eigenschaften einer Verknüpfung (für das Flag Erweitert> Als Admin ausführen) im Befehl lesen können, um sie zu verbessern. music2myear vor 5 Jahren 0

1 Antwort auf die Frage

2
music2myear

In der Standard-Windows-Benutzeroberfläche gibt es zwei Stellen, an denen Sie feststellen können, ob eine ausführbare Datei oder eine Verknüpfung als Administrator konfiguriert ist.

Öffnen Sie die Eigenschaften für die Datei / Verknüpfung und dann ...

  1. Klicken Sie für Verknüpfungen nur auf die Schaltfläche Erweitert, und sehen Sie das Kennzeichen Als Administrator ausführen.
  2. Öffnen Sie für ausführbare Dateien und Verknüpfungen die Registerkarte Kompatibilität.

Die Einstellungen an diesen beiden Orten haben dieselbe Wirkung, sind jedoch nicht gleich.

Die erste ist eine Eigenschaft der Verknüpfung und ist an die Verknüpfung gebunden. Sie können dies testen, indem Sie die Eigenschaft für eine Verknüpfung an einem Netzwerkspeicherort festlegen und dann die Verknüpfung auf einem anderen Computer ausführen. Sie werden vor der Ausführung der Verknüpfung zur Eingabe einer Höhe aufgefordert.

Die zweite (Kompatibilität) wird in der Registrierung des Computers gespeichert, auf dem sie eingestellt ist, und Einstellungen, die auf einem Computer vorgenommen werden, sind auf einem anderen Computer nicht automatisch sichtbar, wenn diese Einstellungen nicht über einen anderen Mechanismus verbreitet werden. Diese werden an zwei Orten in der Registrierung für die Anwendung pro Benutzer oder für alle Benutzer gespeichert:

Alle Nutzer: HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Pro Benutzer: HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Diese können programmgesteuert und in Skripten gelesen werden, wobei die standardmäßigen Komponenten der Registry-Komponente in der bevorzugten Sprache verfügbar sind.