none
Prüfen ob Benutzerkontensteuerung aktiv? RRS feed

  • Frage

  • Hallo,

     

    ich würde gerne mein Programm prüfen lassen ob UAC unter Vista aktiviert ist.

     

    Ziel ist es dabei dem Nutzer einen Hinweis zu geben, dass er es besser ausschalten sollte, da das Programm sonst nicht weiter macht und beendet wird.

     

    Würde mich über Antworten sehr freuen

     

    Mit freundlichem Gruß

     

    Dennis

    Dienstag, 9. September 2008 20:25

Antworten

  • Nun nochmals an Dennis und all die anderen die UAC abschalten wollen

    WE Co Ltd. und S_A_S haben recht schreibt kein Programm welches das UAC abschalten, denn ein solches Programm als Freeware wäre das schlechteste was es für einen noob im Bereich EDV geben kann. Diese verstrauen euch und denken sich UAC hat keinen Sinn, nervt nur, usw. Da haben sie ja recht. Es nervt. Aber es ist gewillt so, dass man alles mehrfach bestätigen muss. So ist das System etwas sicherer und nervige Fehler können somit vermieden werden. Habs zwar selber ausgeschalten, aber nur weil ich mich auskenne und weil ich für meine versuchszwecke kein UAC brauche. Ach ja WE Co Ltd.'s Tipp mit VMWare ist supper. Ich liebe das Programm, kann ich nur weiterempfehlen.

    Außerdem wäre ein solches Programm noch eine Einladung für Hacker. Nicht für die guten, weil die kommen überall rein, aber so haben selbst die schlechten bessere chancen. Also lasst es sein. Wenn ihr es doch machen wollt dann geb ich euch diesen Tipp.

    1. Programm muss mit Admin-Rechte laufen, wie bereits oben genannt.

    2. Warum macht ihr keine Batch-Datei, geht schneller, braucht keine Oberfläche und ist genauso effektive, wenn nicht sogar effektiver

    3. Der Pfad, der den Befehl zum deaktivieren des UAC führt ist dieser:

    C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

    Ps.:Und immer schön die nützlichen Beiträge bewerten
    Freitag, 12. Dezember 2008 22:23

Alle Antworten

  • Schlechte Idee. Ganz schlechte Idee und eine Idee die man lieber nicht verfolgen soll.
    Sorge lieber dafür, dass deine Antwendung mit den nötigen Rechten dafür startet. Anwendungen die neu programmiert werden und dann mit Kernfunktionen von Windows nicht zusammenarbeiten sind i. d. Regel einfach nur schlecht programmiert. UAC hat einen sinn und jeder der diesen Sinn versteht wird ihn kaum für eine Anwendung zu  der es möglicherweise hunderte Alternativen gibt auschalten. Schreib lieber die ANwendung um, dass sie UAC konform läuft.
    Samstag, 20. September 2008 08:52
  • Hallo S_A_S,

     

    zunächst mal muss ich dir zustimmen, UAC hat sicher einen Sinn, ist aber völlig falsch angegangen worden.

     

    Ich muss immer diese blöden Fenster wegklicken, nur wenn ich die Uhrzeit änder oder irgendwelchen anderen Sachen mache. Ich kenne bisher keinen Vista-Nutzer unter meinen Freunden, der es noch nicht abgeschaltet hat. Besonders Vielinstallierer leiden.

    UAC dient also eher den Noobs, die nicht viel Erfahrung im Umgang mit dem PC haben.

     

    Zu der Anwendung: Ist eine Autostart-Anwendung, von der man Programm auf einer DVD installieren kann. Zwar ist es im Grunde nervig nun jedes mal die UAC-Warnung zu bekommen, aber bis dahin noch kein Grund sie abzuschalten.

    Das Programm verfügt aber weiter über die Funktionen Registry Keys zu setzen, die einem viele Konfigurationsschritte ersparen (brauche ich, da ich oft formatiere).

    Und genau hier kommt es zu dem UAC-Problem. Kein Zugriff auf HKEY_Local_Machine. Und deshalb möchte ich eine Warnung ausgeben, das es wohl einfacher wär es abzuschalten

     

    MfG

     

    Dennis

    Dienstag, 23. September 2008 18:47
  • Wenn du die Anwendung mit Adminrechten ausführen musst, was bei einer solchen Anwendung Sinn macht, dann würde ich gleich am Anfang die Anwendung als Admin starten.
    Die entsprechenden Einstellungen an der Anwendung kann man ab .net 3.5 ganz leicht vornehmen. Mit Version 3.0 ist das aber auch schon einfach möglich.

    http://msdn.microsoft.com/de-de/library/aa970890(VS.85).aspx
    http://msdn.microsoft.com/de-de/library/bb384691.aspx

    Sich die nötigen UAC Rechte zu beschaffen ist weitausbesser als gleich die Abschaltung zu fordern.
    Das UAC so oft auf ploppt ist meist mehr auf schlechte Anwendungen zurückzuführen als auf UAC selbst.

    Schauen wir mal zu Linux und  nennen wir das ganze Sudo / RunAsRoot , dann stellt man fest, dass man hier auch nicht wesentlich seltener im sein Passwort eingeben muss als man bei Vista eine aktion bestätigen muss. Zumindest wenn man schaut bei was für Angelegenheiten UAC/ Sudo aktiv werden.
    Dienstag, 23. September 2008 19:05
  • Hi Dennis,

    Du schreibst das unter Vistas UAC "besonders die Vielinstallierer" leiden würden und Du "unter Deinen Freunden kaum Vista User hast, welche die UAC nicht bereits schon (möglicherweise wegen des Vielinstallierens?) abgeschaltet haben".

    Hmm..
    Ich kann Dir nur sagen wie es wiederum meine Berufskollegen und unser Kundenkreis handhabt ...die Sache mit der ggf. Rechner-Neu-Aufsetzens-Notwendigkeit sprich viel Installieren..

    Die benutzen dafür schon längst ein Image-Tool wie Acronis und/oder greifen gleich auf Virtualisierungstechnik ala VMWare zurück. In beiden Fällen erspart man sich einen Sack voll Zeit und das ist für Leute die mit EDV ihr täglich Brot verdienen nicht nur lebenswichtig, sondern allein schon dem eigenen guten Ruf geschuldet.

    Umso wichtiger wenn das mehrfache Installieren zum täglichen Geschäftsbetrieb gehört, wie z.B. bei Test-PC's in der Software-(Re)paketierung. Jeder der da noch mit DVD's und Installationsdatenträgern hantiert um ggf. ein System erneut in einen definierten Ausgangszustand zu bringen, macht dies höchstens 1x.

    Danach zeigt man dem Herrn mit den Worten hat uns gefreut Sie kennen gelernt zu haben dezent den Ausgang und sorgt dafür dass allen relevanten Freiberufler- und/oder Mitarbeitervermittlungen (incl. des Arbeitsamtes) ein entsprechender Hinweis über diese Pfeife zugeführt wird.

    Daher gehe ich zu Deinen Gunsten davon aus, dass Du EDV als Hobby und nicht als Beruf betreibst.
    ... ich weis.. zugegeben.. eine subjektive Meinung.

    Nun zu Deiner Erklärung das Dein Programm..
    Registry Einträge setzen müsse (speziell im Zweig HKLM) da Dir so viele Konfigurationsschritte erspart blieben.

    Da Du nicht detailliert beschreibst, ob es sich dabei um Konfigmaßnahmen innerhalb Deines Programms oder außerhalb am zugrundeliegenden System handelt...

    Wenn diese nur mit Deinem Programm zu tun haben:
    Warum diese in HKLM ablegen, wo es HKCU oder besser noch ein einfaches ini-File ebenso gut täte? Denn wenn Du schon mit Deinem Programm auf dem Zielclient Veränderungen vornimmst, so sind diese in einer Datei doch wohl besser aufgehoben als in der Registry.

    Wenn die Konfigmaßnahmen nichts mit Deinem Programm zu tun haben:

    Warum benutzt Du dann nicht einen Snapshot von Deinem System innerhalb einer VM und/oder legst Dir ein sep. Image mit eben diesen Konfigurationseinstellungen an, dass Du jeweils zurück spielst?

    Die UAC einem Anwender gegenüber so erscheinen zu lassen als sei sie überflüssiger Blödsinn und es wäre für jeden Nutzer besser diese zu deaktivieren, weil dann liefe ja alles (wie in Win 98 Zeiten) super.. ..wie sagte S_A_S so zutreffend.. ganz schlechte Idee!


    Niemand hat gesagt das gute Programme zu schreiben leicht sei; bei kleinen Unwägbarkeiten aber sofort Redmonder Erzeugnisse dem Henker zuzuführen ist dann doch a bisserl zu einfach. Denk bitte noch einmal über Deinen Programmansatz aber vor allem über Deine Verantwortung als Programmierer nach. Alles weitere hat Dir S_A_S bereits geschrieben.


    In diesem Sinne - immer aufgeschlossen bleiben
    Sayonara - Helmut

    Mittwoch, 24. September 2008 02:11
  • Hallo Dennis,

     

    wir haben (aus mehreren Gründen) dieselbe Anforderung.

    Hast Du inzwischen eine Lösung gefunden?

    Wir arbeiten unter VB8 / .NET 2.0

     

    Freundliche Grüße,

    Hardy

     

    Freitag, 12. Dezember 2008 12:44
  • Nun nochmals an Dennis und all die anderen die UAC abschalten wollen

    WE Co Ltd. und S_A_S haben recht schreibt kein Programm welches das UAC abschalten, denn ein solches Programm als Freeware wäre das schlechteste was es für einen noob im Bereich EDV geben kann. Diese verstrauen euch und denken sich UAC hat keinen Sinn, nervt nur, usw. Da haben sie ja recht. Es nervt. Aber es ist gewillt so, dass man alles mehrfach bestätigen muss. So ist das System etwas sicherer und nervige Fehler können somit vermieden werden. Habs zwar selber ausgeschalten, aber nur weil ich mich auskenne und weil ich für meine versuchszwecke kein UAC brauche. Ach ja WE Co Ltd.'s Tipp mit VMWare ist supper. Ich liebe das Programm, kann ich nur weiterempfehlen.

    Außerdem wäre ein solches Programm noch eine Einladung für Hacker. Nicht für die guten, weil die kommen überall rein, aber so haben selbst die schlechten bessere chancen. Also lasst es sein. Wenn ihr es doch machen wollt dann geb ich euch diesen Tipp.

    1. Programm muss mit Admin-Rechte laufen, wie bereits oben genannt.

    2. Warum macht ihr keine Batch-Datei, geht schneller, braucht keine Oberfläche und ist genauso effektive, wenn nicht sogar effektiver

    3. Der Pfad, der den Befehl zum deaktivieren des UAC führt ist dieser:

    C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

    Ps.:Und immer schön die nützlichen Beiträge bewerten
    Freitag, 12. Dezember 2008 22:23
  • Moinsen,

     

    also ich habe es jetzt folgendermaßen gelöst, dass das Programm Admin-Rechte verlangt, denn wenn man ein Programm aus einem Programm das Admin-Rechte verwendet startet, startet es automatisch mit Admin-Rechten.

     

    Da mein Programm (eine CD-Start-Anwendung) Installationsroutinen von der CD startet aber auch die Option bietet Registry-Einträge zu setzen, wie Show Windows-Version on Desktop oder IE Icon aufem Desktop ablegen, muss ich es als Admin ausführen.

     

    Meine anderen Programme sind selbstverständlich UAC konform.

     

     

     

    Was ich jedoch allen Vorschlagen kann, die informairt sein möchten ob UAC an oder aus ist, verwendet folgenden Code:

     

    Dim UAC As String

    UAC = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "")

    If UAC = "0" Then

    Label1.Text = "UAC is disabled"

    ElseIf UAC = "1" Then

    Label1.Text = "UAC is enabled"

    Else

    Label1.Text = "UAC nicht verfügbar"

    End If

     

     

    Den Pfad zum deaktivieren hat ja schon BigG-FTW bereitgestellt.

    Samstag, 13. Dezember 2008 10:12