Laden...

Programmteile mit administrativen Rechten ausführen

Erstellt von Endro vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.805 Views
E
Endro Themenstarter:in
96 Beiträge seit 2008
vor 14 Jahren
Programmteile mit administrativen Rechten ausführen

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

60 Beiträge seit 2008
vor 14 Jahren

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

S.

2.223 Beiträge seit 2005
vor 14 Jahren

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

E
Endro Themenstarter:in
96 Beiträge seit 2008
vor 14 Jahren

Hallo,

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

Endro

E
Endro Themenstarter:in
96 Beiträge seit 2008
vor 14 Jahren

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

2.223 Beiträge seit 2005
vor 14 Jahren

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

E
Endro Themenstarter:in
96 Beiträge seit 2008
vor 14 Jahren

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

2.223 Beiträge seit 2005
vor 14 Jahren

Hallo Endro,

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

Herzliche Grüße
Lars

X
1.177 Beiträge seit 2006
vor 14 Jahren

huhu

impersonation

heisst das Zauberwort.

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

3.971 Beiträge seit 2006
vor 14 Jahren

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...