Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Programmteile mit administrativen Rechten ausführen
Endro
myCSharp.de - Member



Dabei seit:
Beiträge: 96

Themenstarter:

Programmteile mit administrativen Rechten ausführen

beantworten | zitieren | melden

Hallo zusammen,

bin gerade ziemlich ratlos. Ich soll ein Programm schreiben, mit dem Benutzer ohne administrative Rechte vordefinierte Dienste starten können, Systemvariablen auf definerte Werte setzen können, Vezeichnisse löschen und bestimmte andere Programme starten bzw. beenden können.
Das ganze soll soll so ablaufen, dass der Benutzer mein Programm per Klick startet und der Rest läuft ohne Benutzereingaben ab.
Zur Ausführung des Progamms wird ein Admin-Konto in der Domäne eingerichtet, das Programm soll an drei Standorten eingesetzt werden.

Mir ist leider nicht klar wie ich es hinbekomme das Programm mit entsprechenden Rechten auszuführen.

Gibt es eine Möglichkeit sowas hinzubekommen ohne dass der Benutzer erweiterte Rechte bekommt?

Bin für jeden Hinweis dankbar.

Endro
private Nachricht | Beiträge des Benutzers
sylvio
myCSharp.de - Member

Avatar #avatar-2868.gif


Dabei seit:
Beiträge: 61
Herkunft: Sachsen-Anhalt

beantworten | zitieren | melden

Programm als Dienst (der admin-rechte hat) entwickeln?

S.
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

Hallo Endro,

Solange Du die Login Daten, eines erweiterten Account hast (sei es diese sind bekannt oder können irgendwo Konfiguriert werden) kannst du alles über diesen Account ausführen was du willst, die User-Rechte werden davon nicht beeinträchtigt.

Herzliche Grüße
Lars
private Nachricht | Beiträge des Benutzers
Endro
myCSharp.de - Member



Dabei seit:
Beiträge: 96

Themenstarter:

beantworten | zitieren | melden

Hallo,

viele Dank für eure Vorschläge, werds gleich mal ausprobieren.

Endro
private Nachricht | Beiträge des Benutzers
Endro
myCSharp.de - Member



Dabei seit:
Beiträge: 96

Themenstarter:

beantworten | zitieren | melden

Hi,

wie würde das aussehen?
Mein Programm würde von eine Standard-Benutzer Konto aus gestarted.
Nach dem Start muß mein Programm dann alle Funktionen unter einem Konto ausführen das Admin rechte hat.

Finde keinen Ansatz wie ich das realisieren soll, könnte noch den einen oder anderen Tip gebrauchen evtl ein kleines Beispiel.

--
Das Problem über einen Dienst zu lösen ist wirklich eine super Idee aber der Dienst muss als System ausgeführt werden und diese Dienste müssen über ein Admin Konto installiert werden --> was leider nicht erlaubt ist.

Bin wie gesagt für alle Tips dankbar.

Endro
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

Hallo Endro,

um zB. einen Dienst zu starten, könntest Du es mal mit des Code probieren


ProcessStartInfo psi = new ProcessStartInfo() { UserName = "Administrator", Password = "SuperGeheim", FileName="NET", Arguments="START [DienstName]" };
            Process p = new Process();
            p.StartInfo = psi;

            p.Start();


und das kann man sogar soweit treiben, das man eine eigene Anwendung Implementiert, die mit Admin Rechten gestartet wird und nur irgendwelche Daten ändert.

Herzliche Grüße
Lars
private Nachricht | Beiträge des Benutzers
Endro
myCSharp.de - Member



Dabei seit:
Beiträge: 96

Themenstarter:

beantworten | zitieren | melden

Hi, danke für die schnelle Antwort werd ich gleich mal testen. Sehe ich das richtig so könnte ich auch jede Klasse in einem Programm aufrufen oder?

Endro
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

Hallo Endro,

warum Klasse, net ist ein DOS Befehl mit dem unter anderem, Dienste gestartet oder gestoppt werden können.

Herzliche Grüße
Lars
private Nachricht | Beiträge des Benutzers
Xynratron
myCSharp.de - Member



Dabei seit:
Beiträge: 1184

beantworten | zitieren | melden

huhu

impersonation

heisst das Zauberwort.

:-)

Xynratron
Herr, schmeiss Hirn vom Himmel - Autsch!
Zitat von herbivore
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
private Nachricht | Beiträge des Benutzers
kleines_eichhoernchen
myCSharp.de - Member

Avatar #avatar-2079.jpg


Dabei seit:
Beiträge: 4055
Herkunft: Ursprünglich Vogtland, jetzt Much

beantworten | zitieren | melden

Zitat
Mein Programm würde von eine Standard-Benutzer Konto aus gestarted.
Nach dem Start muß mein Programm dann alle Funktionen unter einem Konto ausführen das Admin rechte hat.
Impersonate würde unter WinXp und Server2003 funktionieren, nicht aber unter Vista/Win7 mit eingeschaltetem UAC.

Um dort volle Adminrechte zu erhalten, muss der Process bereits mit vollen Rechten gestartet werden. Ein nachträgliches anheben funktioniert nicht.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
private Nachricht | Beiträge des Benutzers