Entwickler-Ecke

Windows API - dos privilegien


Andreas95 - Mo 01.02.10 19:47
Titel: dos privilegien
Ist es möglich mit delphi die dos privelegien zu ändern? tät mich interessieren weil man ja zum ausschalten des pcs die privelegien ändert.
also ich meine wenn dos gesperrt wurde.
danke.


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mo 01.02.2010 um 20:00


Xentar - Mo 01.02.10 20:11

Ich versteh die Frage nicht..
was für "DOS Privilegien"? Meinst du die Konsole, die man mit Start -> Ausführen -> CMD erreicht?
Und was hat das mit Ausschalten des PCs zu tun? Wenn du den Befehl "shutdown" meinst: Such mal hier im Forum nach Rechner herunterfahren, da gibts schon einige Themen zu.


ALF - Mo 01.02.10 20:24

:lol:
Er meint bestimmt nicht DOS im sinne von MsDos, sondern dieses DoS :wink:

Egal ob der Rechner runtergefahren wird oder gestarted, die Privilegien bleiben immer gleich.
Warum willst Du also welche ändern?
Selbst wenn Du MSDos meinst, kannst Du trotzdem normale Konsolenprogramme starten!

Gruss Alf


Andreas95 - Mo 01.02.10 20:26

ok tut mir leid frage war angeblich nicht klar. Ich weiss wie man den pc abschaltet. Aber wenn man das macht muss man es ersteinstellen das man es darf. :


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
function  MyWindowsShutdown(AForce: Boolean): Boolean;
var
hToken: THandle;
tp:     TTokenPrivileges;
h,
Flag:   DWord;
begin
    flag:=EWX_SHUTDOWN;
    if (Win32Platform = VER_PLATFORM_WIN32_NT) then begin
    flag:=EWX_POWEROFF;
    OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
    LookupPrivilegeValue(nil'SeShutdownPrivilege', tp.Privileges[0].Luid);
    tp.PrivilegeCount:=1;
    tp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
    h:=0;
    AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges(nil)^, h);
    CloseHandle(hToken)
  end  else ;
  if AForce then flag:=flag or EWX_FORCE;
  Result:=ExitWindowsEx(flag, 0);


da verändere ich ja die shutdown pivilegie.

und ich meine wenn dos so gesperrt ist das es zwar öffnet aber man nichts machen kann.

tut mir echt leid wenn meine frage nicht klar is ich bitte um verständnis ( :


ALF - Mo 01.02.10 20:30

Zitat:
....ersteinstellen das man es darf.

must Du nicht!

Es sei, das Du sie ändern willst, das kein anderer mehr Windoes beenden kann! warum auch immer

Gruss ALf


Andreas95 - Mo 01.02.10 20:31

user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
Zitat:
....ersteinstellen das man es darf.

must Du nicht!


wenn ich auf einen pc wäre das keine administrator rechte hat


ALF - Mo 01.02.10 20:34


Delphi-Quelltext
1:
wenn ich auf einen pc wäre das keine administrator rechte hat                    

Dann kannst trotzdem Windows beenden oder!???


Andreas95 - Mo 01.02.10 20:41

user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
wenn ich auf einen pc wäre das keine administrator rechte hat                    

Dann kannst trotzdem Windows beenden oder!???


ok sorry ich glaub du verstehst ich wirklich net ( ; das mit dem ausschalten war nur ein besispiel. ich wollte nur wissen ob es auch so möglich ist andere sachen wie zum Beispiel dos oder cmd freizuschalten wenn sie von einen administrator gesperrt wurden.


ALF - Mo 01.02.10 20:47

Das sieht doch nach Hacks aus!
Wenn ein Admin sowas macht, dann hatt es einen Grund!

Hab ich doch recht DoS :mahn:
Gruss ALf


Andreas95 - Mo 01.02.10 21:00

user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
Das sieht doch nach Hacks aus!
Wenn ein Admin sowas macht, dann hatt es einen Grund!

Hab ich doch recht DoS :mahn:
Gruss ALf


ich hab es nicht nötig zu hacken ich bin der Administrator an diesen pc und an allen, die ich benutze. wäre nur mal interessant gewesen. muss ja nicht DoS sein ich meine inzgesamt alles.


Narses - Mo 01.02.10 21:01

Moin!

user profile iconAndreas95 hat folgendes geschrieben Zum zitierten Posting springen:
das mit dem ausschalten war nur ein besispiel. ich wollte nur wissen ob es auch so möglich ist andere sachen wie zum Beispiel dos oder cmd freizuschalten wenn sie von einen administrator gesperrt wurden.
Das Stichwort, was du suchst, ist: Suche bei Google GRUPPENRICHTLINIEN :idea:

Und ja, man kann das ändern, dazu muss man aber wieder Admin sein. :P

cu
Narses


ALF - Mo 01.02.10 21:11

1. in Deiner Anfrage steht nicht das du Admin bist.
2. beziehe ich das auf deiner Aussage user profile iconAndreas95
Zitat:
wenn ich auf einen pc wäre das keine administrator rechte hat

Was ist also an meiner Antwort Falsch!

Grus ALf


Andreas95 - Mo 01.02.10 21:15

user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
1. in Deiner Anfrage steht nicht das du Admin bist.
2. beziehe ich das auf deiner Aussage user profile iconAndreas95
Zitat:
wenn ich auf einen pc wäre das keine administrator rechte hat

Was ist also an meiner Antwort Falsch!

Grus ALf


nichts.. angeblich ist es nicht möglich vielen danke für eure hilfe


Bernhard Geyer - Mo 01.02.10 22:16

user profile iconAndreas95 hat folgendes geschrieben Zum zitierten Posting springen:
ich hab es nicht nötig zu hacken ich bin der Administrator an diesen pc und an allen, die ich benutze. wäre nur mal interessant gewesen. muss ja nicht DoS sein ich meine inzgesamt alles.

Dann solltest du deine Grundkenntnisse von Windows mal auf aktuellen Stand bringen. Windows ME war die letzte Windows-Version die eine DOS-Kern besaß. Die NT-Basierte Schiene (NT/W2K/XP/2003/Vista/2008/7) basiert nicht auf DOS.

Und seit Vista ist es einem Prozess nicht mehr möglich Adminrechte zu bekommen wenn diese nicht schon beim Prozesstart vorhanden sind (UAC lässt grüßen). Über COM/ActiveX lässt sich zwar noch was machen abe damit hab ich mich bisher nicht beschäftigt. Beispiele sollten aber hier oder in anderen Delphi-Foren zu finden sein.


Delete - Mo 01.02.10 23:04

user profile iconAndreas95 hat folgendes geschrieben Zum zitierten Posting springen:
ok tut mir leid frage war angeblich nicht klar. Ich weiss wie man den pc abschaltet. Aber wenn man das macht muss man es ersteinstellen das man es darf. :


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
function  MyWindowsShutdown(AForce: Boolean): Boolean;
var
hToken: THandle;
tp:     TTokenPrivileges;
h,
Flag:   DWord;
begin
    flag:=EWX_SHUTDOWN;
    if (Win32Platform = VER_PLATFORM_WIN32_NT) then begin
    flag:=EWX_POWEROFF;
    OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
    LookupPrivilegeValue(nil'SeShutdownPrivilege', tp.Privileges[0].Luid);
    tp.PrivilegeCount:=1;
    tp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
    h:=0;
    AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges(nil)^, h);
    CloseHandle(hToken)
  end  else ;
  if AForce then flag:=flag or EWX_FORCE;
  Result:=ExitWindowsEx(flag, 0);


da verändere ich ja die shutdown pivilegie.

und ich meine wenn dos so gesperrt ist das es zwar öffnet aber man nichts machen kann.

tut mir echt leid wenn meine frage nicht klar is ich bitte um verständnis ( :

Du redest ziemlich wirres Zeug, kann aber auch daran liegen, dass du eigentlich gar nicht weiß wo von du redest und was du willst.

Mit obigen Code wird das Privileg zum Runterfahren des Rechners nur aktiviert. "Haben" muss es der Benutzer schon vorher.

user profile iconAndreas95 hat folgendes geschrieben Zum zitierten Posting springen:
ich wollte nur wissen ob es auch so möglich ist andere sachen wie zum Beispiel dos oder cmd freizuschalten wenn sie von einen administrator gesperrt wurden.

Gesetz dem Fall das wäre möglich ohne administrative Rechte zu besitzen, welchen Wert hätten dann die Gruppenrichtlinien für die Sicherheit des Systems?