• Probleme
  • UAC-beschränkte Progs mit SuRun autostarten

Hallo,
Ich habe auf meinem Notebook mit Win7 Home Premium 64-Bit folgendes Problem:

Ich habe bei den Standarbenutzern die SuRun-Einstellung
„Benutzer darf nur festgelegte Programme mit SuRun starten“
gewählt und habe nun Schwierigkeiten mit dem Autostart mancher Programme, die dabei erhöhte Rechte fordern

Ich möchte als Beispiel everything.exe nehmen. Ich habe das Programm in die SuRun WhiteList wie folgt aufgenommen:

[WhiteList]
....
5=""C:\Program Files (x86)\Everything\Everything.exe""
6="C:\Windows\SuRun.exe "C:\Program Files (x86)\Everything\Everything.exe""
[WhiteListFlags]
....
5=3
6=3


Die Nr. 6 ist wahrscheinlich ein Widerspruch in sich, denn ich kann ja wohl nicht einen eingeschränkten SuRun beim Autostart eines Anwendungsrogramms als Startvermittler für erhöhte Rechte einsetzen? Ich habe es eben mal versuchen wollen. ohne die Sache zu druchschauen.

Nach dem Login erscheint jetzt folgender Hinweis:




Doppelklick auf everything.exe oder einen Link darauf öffnet allerdings das Programm über SuRun mit erhöhten Rechten.

Ich wüsste nun gerne, ob und wie es einem eingeschränkten SuRunner irgendwie ermöglicht werden kann, den Autostart eines Programms mit erhöhten Rechten (wie everything.exe) als explizite Ausnahme einzurichten.

Oder sollte ich doch eher den Weg über die Aufgabenplanung beschreiten, wie z.B. in http://www.techrepublic.com/blog/window-on-windows/make-vista-launch-uac-restricted-programs-at-startup-with-task-scheduler/616 beschrieben wird?




P.S. Untenstehende Signatur beschreibt meinen Desktop-PC, während obiges Problem auf meinem Fujitsu Lifebook AH530 auftritt.
Der AutoRun müsste problemlos funktionieren...

In der Menldung von SuRun steht "c:\program files (x86)\everything" und nicht "c:\program files (x86)\everything\everything.exe", deshalb meckert SuRun das an... aber wieso fehlt "\everything.exe"?
6 Tage später
Danke erst einmal, Kay, für den Hinweis. Da hatte ich doch glatt den Dateinamen vergessen in die Registry zu schreiben.

Und dann muss ich mich entschuldigen, dass ich so lange mit dieser Antwort gewartet habe. Aber ich war mir total unsicher, ob und wie ich den Thread weiterführen sollte. Ich habe einige Versuche mit verschiedenen Einstellungen in der Registry und in SuRun gemacht, und das in 2 Benutzerkonten (Admin und Standardnutzer), was auch einige Zeit kostete.

Das Ziel war:
everything.exe so benutzbar zu machen, dass in beiden Konten ohne Rückfrage nach dem Start das Everything-Symbol im Systray erscheinen und sich bei Doppelklick auf everything.exe bzw. eine Verknüpfung davon das Programmfenster öffnen soll. Normalerweise verlangt everything.exe vom Admin UAC-Bestätigung, beim Standardnutzer wird es blockiert.

-------------------------------------

SuRun-Einstellungen:
In beiden Konten (in denen SuRun so konfiguriert ist, dass der Benutzer nur festgelegte Programme mit SuRun starten können soll), habe ich in der SuRun WhiteList folgende Einträge in verschiedensten Kombinationen ausprobiert (es ist mir klar, dass ich mich hier als Newbie mit mangelndem Durchblick oute):


"C:\Program Files (x86)\Everything\Everything.exe"
"C:\Program Files (x86)\Everything\Everything.exe" -startup
C:\Windows\SuRun.exe "C:\Program Files (x86)\Everything\Everything.exe" -startup


In den Programmoptionen (SuRun Whitelist-Einstellungen) hatte ich mich für folgende Radio Buttons entschieden, die ich dann konstant gehalten habe:
Das Programm automatisch mit erhöhten Rechten starten und
Programm immer automagisch mit erhöhten Rechten starten

-------------------------------------

Registry-Eintrag für Testreihe A:
Ich hatte zunächst in HKLM\Software\MS\Windows\Current Version\Run die Zeichenfolge "C:\Program Files (x86)\Everything\Everything.exe" -startup eingetragen.


Das Ergebnis war:
Admin: Autostart und Doppelklick verlangten in allen Kombinationen eine UAC-Bestätigung.
Standardnutzer: Bei Autostart tat sich gar nichts. Beim Doppelklick funzte nur der Eintrag "C:\Program Files (x86)\Everything\Everything.exe", und zwar sofort ohne jede Bestätigungsanforderung; alle anderen Kombinationen wurden mit der Meldung " Dieses Programm wird durch eine Gruppenrichtlinie blockiert" quittiert.

Damit wollte ich mich nicht zufrieden geben.

-------------------------------------

Registry-Eintrag für Testreihe B:
Daraufhin habe ich den Machine Run Eintrag entfernt und in HKCU\Software\MS\Windows\Current Version\Run beim Admin die Zeichenfolge C:\Windows\SuRun.exe "C:\Program Files (x86)\Everything\Everything.exe" -startup und beim Standardnutzer die Zeichenfolge "C:\Program Files (x86)\Everything\Everything.exe" eingetragen.

Das Ergebnis war:
Admin: In allen Kombinationen liefert Autostart das Systray Icon, Doppelklick verlangt UAC-Bestätigung
Standardnutzer: Den Autostart hatte ich ja durch den User Run Eintrag bewusst beseitigt, da er ohnehin nicht funzen würde, und Doppelklick öffnet das Programmfenster sofort und ohne jede Bestätigungsanforderung.


Näher kann ich wohl meinem Ziel nicht kommen. Oder hat noch jemand eine andere Idee bzw. habe ich etwas falsch gemacht oder übersehen?



---------------------------------------------
P.S. Untenstehende Signatur beschreibt meinen Desktop-PC, während obiges Problem auf meinem Fujitsu Lifebook AH530 mit Win7 Home Premium 64-Bit auftritt .
Den SuRun-Eintrag in der Programmliste "C:\Windows\SuRun.exe "C:\Program Files (x86)\Everything\Everything.exe" -startup" kannst Du löschen. ""C:\Program Files (x86)\Everything\Everything.exe" -startup" macht das.

Warum hast Du bei dem Standard-Benutzer nicht auch "C:\Windows\SuRun.exe "C:\Program Files (x86)\Everything\Everything.exe" -startup" im AutoRun stehen? Das geth auch von HKLM aus, weil SuRun's HOOKS nicht benutzt werden.

Wenn Du in die Programmliste der Benutzer ""C:\Program Files (x86)\Everything\Everything.exe" *" eingibst, fragt SuRun gar nicht mehr, egal ob Doppelklick oder Autostart.

Wenn Everything keine Dateien finden soll, die für Standard-Benutzer unzugänglich sind, kannst Du im AutoStart auch "C:\Windows\SuRun.exe /low "C:\Program Files (x86)\Everything\Everything.exe" -startup" eintragen, dann fragt UAC nicht und Everything läuft sogar mit eingeschränkten Rechten.
Dank Deiner Tipps, Kay, habe ich jetzt meine Einstellungen optimiert. Vielen Dank für die Hilfe. Ich hoffe, ich habe alles richtig verstanden. Nachstehend setze ich Zitate nicht in Anführungszeichen, sondern mache sie nur durch Farbe kenntlich.

Ich bin jetzt ganz zufrieden und habe keine weiteren Fragen. Aber natürlich sind Fehlerberichtigungen erwünscht und erhellende Kommentare willkommen.



Voraussetzungen:

1 Admin (User1)
1 Standardnutzer (User2)

Für beide gilt
* Benutzer darf nur festgelegte Programme mit SuRun starten

Beide sollen (möglichst ohne Rückfrage)
* autostarten in ein Systray Icon
* bei Doppelklick auf Everything.exe das zugehörige Programmfenster öffnen

Programmoptionen für everything.exe
* das Programm automatisch mit erhöhten Rechten starten;
* Programm immer automagisch mit erhöhten Rechten starten

----------------------------------------------------------------------------------------------------------------


Einstellungen User 1

In HKCU\ ... \Run
C:\Windows\SuRun.exe "C:\Program Files (x86)\Everything\Everything.exe" -startup

In der SuRun-Programmliste
"C:\Program Files (x86)\Everything\Everything.exe" -startup


Ergebnis:

Autostart:
* Everything.exe etabliert sich ohne Rückfrage als Systray Icon. Ein dem Prog zugeordneter shortcut öffnet ohne weitere Rückfrage oder Meldung das Programmfenster.

Doppelklick:
* Das Everything.exe Programmfenster geht nach Bestätigung der UAC-Anfrage auf.

Anmerkung:
Hier ist in der SuRun-Programmliste im Gegensatz zum User2 der Parameter -startup nötig, denn ohne ihn erhalte ich die Meldung:
„Dieses Programm wurde durch eine Gruppenrichtlinie blockiert..."

Ich vermute, dieser Unterschied zum User2 rührt daher, dass dort der Parameter /low in HKCU\ ... \Run ohnehin schon dafür sorgt, dass nur Dateien gefunden werden sollen, die keine erhöhten Rechte verlangen, so dass dort auch keine Gruppenrichtlinie blockieren muss. So weit wollte ich den Admin Account (User1) nicht einschränken.

--------------------------------------------------------------------------------------------------------


Einstellungen User 2

In HKCU\ ... \Run
C:\Windows\SuRun.exe /low "C:\Program Files (x86)\Everything\Everything.exe" -startup

In der SuRun-Programmliste
"C:\Program Files (x86)\Everything\Everything.exe"


Ergebnis:

Autostart:
* Everything.exe etabliert sich ohne Rückfrage als Systray Icon. Ein dem Prog zugeordneter shortcut öffnet ohne weitere Rückfrage oder Meldung das Programmfenster.

Doppelklick:
* Das Everything.exe Programmfenster geht ohne Rückfrage auf. Es erscheint dabei die SuRun-Meldung "C:\Program Files (x86)\Everything\Everything.exe" wird mit erhöhten Rechten ausgeführt"

Anmerkung:
Wenn ich in HKCU\ ... \Run den SuRun-Parameter /low weglasse, erhalte ich sofort nach dem (Auto)Start die Meldung
„Dieses Programm wurde durch eine Gruppenrichtlinie blockiert..." und es wird deshalb kein Systray Icon etabliert.

Wenn ich in der SuRun-Programmliste gemäß Deinem Vorschlag den Asterisk als Argument hinzufüge, also eingebe:
"C:\Program Files (x86)\Everything\Everything.exe" *
so erhalte ich bei Doppeklick auf Everything.exe die Meldung:
„Dieses Programm wurde durch eine Gruppenrichtlinie blockiert..."




--------------------------------------------------------------------------------------------------------


Noch einmal zur Klarstellung:
Es handelt sich hier nicht um den in der Signatur beschriebenen PC, sondern die Problematik betrifft ein Notebook mit Window Home Premium 64-Bit. Die SuRun-Version ist 1.2.1.0.
Erstmal eine Frage: Soll Everything denn auch beim eingeschränkten Benutzer mit gehobenen Rechten laufen?
raffnixpert:1326653137 wrote: Einstellungen User 1
In der SuRun-Programmliste
"C:\Program Files (x86)\Everything\Everything.exe" -startup
"C:\Program Files (x86)\Everything\Everything.exe"* sollte eigentlich auch gehen.
raffnixpert:1326653137 wrote: Einstellungen User 2
In der SuRun-Programmliste
"C:\Program Files (x86)\Everything\Everything.exe"
Wenn Du im AutoRun "/low" angibst, muss das Programm nicht in der Programmliste des Benutzers sein.

Wenn Du das Everything immer und auch automagisch mit /Low starten möchtest, musst Du in SuRun Du die Optionen "Programm NIE mit erhöhten Rechten starten." und "Programm immer automagisch mit erhöhten Rechten starten." zusammen aktivieren. Dann sollte UAC hoffentlich auch nicht dazwischen meckern.

raffnixpert:1326653137 wrote: Wenn ich in der SuRun-Programmliste gemäß Deinem Vorschlag den Asterisk als Argument hinzufüge, also eingebe:
"C:\Program Files (x86)\Everything\Everything.exe" *
so erhalte ich bei Doppeklick auf Everything.exe die Meldung:
„Dieses Programm wurde durch eine Gruppenrichtlinie blockiert..."
Whoops. Mein Fehler! Das Leerzeichen muss weg:
"C:\Program Files (x86)\Everything\Everything.exe"*
(Sonst akzeptiert SuRun das Programm nur mit Leerzeichen)
Danke für die schnelle Antwort, Kay. Ich verstehe nicht, wie Du bei Deiner vielen Arbeit es schaffst, so schnell zu antworten. Ích jedenfalls habe bei der Einrichtung meines neuen Notebooks, die der Anlass zu diesem Thread war, jetzt Riesen-Probleme mit WinXP bekommen (SuRun habe ich allerdings bisher nur im fast fertigen Win7 installiert). Deshalb komme ich erstmal nicht dazu, Deine neusten Tipps (bezüglich Gebrauch des Asterisk und der Option "Programm NIE mit erhöhten Rechten starten") in Win7 auszuprobieren. Ich werde das später noch einmal aufgreifen, wenn ich darf.

Für jetzt möchte ich aus Deinem letzten Posting nur 2 Punkte aufgreifen:


1.)-----------------------------------------
Kay:1326894463 wrote: Erstmal eine Frage: Soll Everything denn auch beim eingeschränkten Benutzer mit gehobenen Rechten laufen?
Diese Frage verstehe ich nicht ganz. Ich hatte von meinen Erfahrungen berichtet, dass mein eingeschränkter User2 ohne gehobene Rechte everything.exe nicht nutzen kann, wie das folgende Zitat aus meinem letzten Posting zeigt:
raffnixpert:1326653137 wrote: Einstellungen User 2
In HKCU\ ... \Run
C:\Windows\SuRun.exe /low "C:\Program Files (x86)\Everything\Everything.exe" -startup
.....
.....
Anmerkung:
Wenn ich in HKCU\ ... \Run den SuRun-Parameter /low weglasse, erhalte ich sofort nach dem (Auto)Start die Meldung
„Dieses Programm wurde durch eine Gruppenrichtlinie blockiert..." und es wird deshalb kein Systray Icon etabliert.
Ich will ja beim eingeschränkten User2 keine gehobenen Rechte, wenn es auch anders geht. Deshalb hatte ich auch bereitwillig Deinen wertvollen Tipp aufgegriffen, den Parameter /low im Autorun zu verwenden


2.)-----------------------------------------

Die in den Programmoptionen möglichen Kombinationen haben mich schon immer etwas verwirrt. Aber es leuchtet mir ein, dass wenn ich den Parameter /low verwende, ich in den Progrrammoptionen "Programm NIE mit erhöhten Rechten starten." einstellen muss. Das ist mir nur nie in den Sinn gekommen, weil das im Widerspruch zu stehen scheint mit "Programm immer automagisch mit erhöhten Rechten starten."

Inwiefern ist das kein Widerspruch? Könntest Du dazu ein paar erhellende Worte sagen?
Zu 1.)
Ich habe Everything hier mit und ohne gehobene Rechte nutzen können und wollte wissen, was Du möchtest.
Ich würde empfehlen gehobene Rechte bei eingeschränkten Benutzern auch nicht zu nutzen.

Zu 2.)
Die verwirrende Option habe ich (glaube ich) mal für Mik.c.OS hier im Forum eingebaut.
Die sich eigentlich ausschließende Kombination der Optionen kann dazu verwendet werden, Programme ohne gehobene Rechte zu starten, die sonst gehobene Rechte (z.B. per Manifest) anfordern, aber in Wirklichkeit keine brauchen.
Mit UAC könnte man so ein Programm nur "mit gehobenen Rechten" oder "gar nicht" starten.
5 Tage später
Ich habe jetzt Deine letzten Vorschläge in #6 getestet und möchte mal meine vorläufig als bestgeeignet ermittelten Einstellungen beschreiben.

Zunächst muss ich vorausschicken, dass ich bisher als Erfolgskontrolle folgende Tatbestände hergenommen habe:
Der Start von everything.exe über das Systray-Icon oder über den Programm-Eintrag bzw. eine Verknüpfung dazu öffnet das Programm-Fenster (mit oder ohne UAC-Bestätigung). Wenn das der Fall war, habe ich das als Erfolg verbucht, ohne dann noch eine tatsächliche everything-Suche durchzuführen.

Jetzt habe ich festgestellt, dass die positiven Ergebnisse für User 1 (Admin) echt waren, während ich sie für User 2 (Standardnutzer) revidieren musste. Ich hatte dort nämlich folgende Meldung in der Statuszeile übersehen: "Erstellen von Everything.db.tmp zum Schreiben auf C:\Program Files (x86)\Everything\Everything.db misslungen". Damit war keine everything-Suche möglich.


Einstellungen User 1
(Gemäß Deinem ersten Rat in post #6 habe ich im AutoRun "C:\Windows\SuRun.exe" gestrichen und in der SuRunProgrammliste den Asterisk eingefügt, also nach den ganz unten aufgezählten Einstellungsmöglichkeiten Kombination 2.c)

In HKCU\ ... \Run
"C:\Program Files (x86)\Everything\Everything.exe" -startup

In der SuRun-Programmliste
"C:\Program Files (x86)\Everything\Everything.exe"*


Ergebnis:

Autostart:
* Everything.exe etabliert sich ohne Rückfrage als Systray Icon. Ein dem Prog zugeordneter shortcut öffnet ohne weitere Rückfrage oder Meldung das nutzbare Programmfenster.

Doppelklick:
* Das Everything.exe Programmfenster geht jetzt ebenfalls ohne UAC-Bestätigung voll nutzbar auf.



Einstellungen User 2

Hier habe ich die meisten der möglichen Kombinationen aus folgenden Einstellungen ausprobiert:

In HKCU\ ... \Run
1. "C:\Program Files (x86)\Everything\Everything.exe"
2. "C:\Program Files (x86)\Everything\Everything.exe" -startup
3. C:\Windows\SuRun.exe "C:\Program Files (x86)\Everything\Everything.exe" -startup
4. C:\Windows\SuRun.exe /low "C:\Program Files (x86)\Everything\Everything.exe" -startup

In der SuRun-Programmliste
a) kein Eintrag
b) "C:\Program Files (x86)\Everything\Everything.exe"
c) "C:\Program Files (x86)\Everything\Everything.exe"*
d) "C:\Program Files (x86)\Everything\Everything.exe" -startup

Nur 3.c) funzt, und zwar für autostart und Doppelklick ohne Warnmeldung oder UAC-Bestätigung.
Alle Kombinationen mit Einstellung Ziffer 4. (Parameter /low) habe ich nicht zum Laufen gebracht. Hier würden mich Deine Einstellungen interessieren, wenn Du schreibst: "Ich habe Everything hier mit und ohne gehobene Rechte nutzen können." Denn ich würde auch gern den User 2 ohne gehobene Rechte laufen lassen wollen, was ja bei 3.c) nicht der Fall ist.
Bei mir funktioniert:
'HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run', 'Everything', 'surun /low "C:\Program Files (x86)\Everything\Everything.exe" -startup'
(Ich habe dem vorhandenen Kommando nur "surun " vorangestellt.)

zusammen mit:
[WhiteList]
0=""C:\Program Files (x86)\Everything\Everything.exe"*"
[WhiteListFlags]
0=10
in SuRun's Programmliste der Benutzer.

In Win7pro x64. Ohne UAC-Abfrage.
Ich verwende Everything allerdings nicht produktiv, sondern nur hier zum Test.
Es funktionieren der Autostart, Doppelklick auf das Symbol in der Taskleiste und im Desktop.
Ich weiß nicht, ob ich Deine Schreibweise richtig verstanden habe. Mir scheint, der einzige Unterschied zu meinen Angaben für User 2 im Posting #9 besteht darin, dass Du
statt C:\Windows\SuRun.exe /low "C:\Program Files (x86)\Everything\Everything.exe" -startup
>>> surun /low "C:\Program Files (x86)\Everything\Everything.exe" -startup
geschrieben hast.

Ich habe das mal so probiert, habe aber wieder dasselbe Ergebnis erhalten wie in #9 beschrieben (Satuszeile).
Sollte ich bei der Schreibweise etwas falsch verstanden haben, so bitte ich um eine kurze Korrektur. Wenn ich die Änderung richtig verstanden habe, so bleibe ich bei meiner Lösung 3.c). Denn da sind dann wahrscheinlich irgendwelche Rechte anders vergeben als bei Dir, und das weiterzuverfolgen wird mir dann zu kompliziert.
Eine Antwort schreiben…
Impressum, Datenschutz