Bestimmte Aufgaben nur ausführen wenn man als Administrator gestartet hat

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Bestimmte Aufgaben nur ausführen wenn man als Administrator gestartet hat

    Ich habe eine Anwendung, die als normaler User läuft. Bestimmte Aufgaben in dieser Anwendung müssen allerdings als Administrator ausgeführt werden. Ist es irgendwie möglich, nur bestimmten Code auszuführen wenn das Programm als Administrator ausgeführt wurde? Habe überall im Internet gesucht schon seit Tagen, aber ich finde höchstens was für C++ bin am verzweifeln ?( :(

    Als Beispie, so könnte es aussehen:




    If "Meinprogramm" has ADMINRECHT

    tuh das und das (was man halt nur als Admin machne kann)

    esle

    mache nix

    end if




    Vielen dank für die antworten :)

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    @TimRi In .NET kannst Du ein Programm so kompilieren, dass es Admin-Rechte zum Starten braucht. Dann wird es ohne Admin-Rechte nicht starten.
    Also: In diesem Fall hat es immer Admin-Rechte und Du brauchst nicht abzufragen.
    Wenn Du das Programm mit und ohne Admin-Rechte starten willst, nimm die C++-Lösung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Diese kleine Funktion hat mit immer geholfen:

    VB.NET-Quellcode

    1. Private Function GetAdministrator() As Boolean
    2. Dim wp As Security.Principal.WindowsPrincipal = CType(My.User.CurrentPrincipal(), Security.Principal.WindowsPrincipal)
    3. If (Not wp Is Nothing) Then
    4. Dim Result As Boolean = wp.IsInRole(Security.Principal.WindowsBuiltInRole.Administrator)
    5. Return Result
    6. End If
    7. Return False
    8. End Function
    Ähhh danke erstmal für die schnelle Antwort, aber wo genau muss jetzt das hin was gemacht werden soll wenn Programm als Admin ausgeführ wurde??

    Bin zwar kein Anfänger mehr, aber ich blicke da gerade nicht durch... Und vor allem wo muss der Code genau stehen? Unter "Private Sub Form1_Load" gehts ja nicht. Habe stattdessen "GetAdministrator()" in "Private Sub Form1_Load" geschrieben. Ist das richtig?

    Also ich will ja das das mit dem Programmstart überprüft wird und dann falls Admin recht vorhanden ist, etwas getan wird...

    TimRi schrieb:

    wenn Programm als Admin ausgeführ wurde
    Falls das ein .NET-Programm ist, kannst Du ein Programm, das Als Administrator starten kompiliert wurde, nicht als Nicht-Administrator starten lassen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ääh - jut, dann befass' Dich zunächst einmal mit den Grundlagen von Visual Studio und der VB-Programmierung.
    Danach werden Dir dann Schuppen aus den Augen fallen ... und Du wirst dann auch den obigen Code verstehen.
    :( echt jetzt?

    Ich sitze da schon soooo lange dran. Und wie schon in der Frage erwähnt Suche ich schon eine Ewigkeit nach dem Code. Jetzt bin ich fast am ziel und du sagst "jut, dann befass' Dich zunächst einmal mit den Grundlagen"

    Ich dachte hier wird mir geholfen... ;(
    Ich wollte nix kaufen... Du bist echt ein schlechter Lehrer. Warum komme ich immer an solche Leute... Anstatt mal was vernünftig zu erklären, damit man auch was lernt oder versteht. Aber nein, sowas machst du ja nicht.
    Wie soll ich denn VB lernen wenn mir jeder Depp nur nen Code hinklatscht den keiner versteht und dann so kluge Sprüche bringt wie: "Ja musst du lernen" echt unnötig sowas

    Und dein hinweis auf den "Forumsbereich MARKTPLATZ" zeigt auch nur das du Geld machen willst anstatt mal leuten für Lau was zu erklären oder dein Wissen weiter zu reichen. Ich dachte VB-Paradise ist eine Plattform um sich auszutauschen und leuten die nicht so gut sind zu helfen, aber anscheinend ist es nur Ebay für Codes...
    Also jetzt ist ma jut. Wir sind hier in einem Forum. Die User hier nehmen sich die Zeit und helfen anderen Usern und das ohne jegliche Bezahlung. Meistens bekommt man hier nicht mal ein richtiges danke. Wie schon gesagt, wir geben uns Mühe den Leuten zu helfen. Und man lernt es nur effektiv, wenn man selber Initiative ergreift und die Ratschläge anderer befolgt. @us4711 hat dir schon eine Lösung gennant, du musst sie nur richtig einbauen. Siehe Stichwort Sub und Funktionen in Google. LG

    Edit: Hier einfach mal durchlesen openbook.galileo-press.de/eins…eg_vb_2010_kap_04_008.htm Des Openbook kannste übrigens kostenlos von Galileo Press runterladen LG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ChOoSeMyNaMe“ ()

    TimRi schrieb:

    Du bist echt ein schlechter Lehrer.
    Und Du bist ein Post-Ignorant.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich glaube, der Punkt ist, es geht nicht, jedenfalls nicht mit vb.net, jedenfalls weiß bisher keiner, wie.
    Evtl. mit C++, aber vmtl. weil das zu anspruchsvoll ist, ist der Ansatz nicht weiter verfolgt worden.

    Ich sehe keinen Grund, den Foren-Teilnehmern Vorwürfe deswegen zu machen, dass sie's auch nicht können, oder so zu tun, als ob der TE zu unfähig sei, etwas zu lösen, was man selbst ja auch nicht hinkriegt, oder was auch immer.

    Und eh jetzt hier so richtig rum-geflamet wird, schließe ich mal den Thread.