AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wie kann man einen Computer über das Netwerk herunterfahren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann man einen Computer über das Netwerk herunterfahren

Ein Thema von Delphi Star · begonnen am 19. Mai 2004 · letzter Beitrag vom 20. Mai 2004
Antwort Antwort
Seite 2 von 3     12 3      
Delphi Star

Registriert seit: 4. Apr 2004
432 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 17:53
Wo denn im Code-Libary
Real programmers code in binary
SwapIt: Punkte
  Mit Zitat antworten Zitat
Zottel
(Gast)

n/a Beiträge
 
#12

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 17:54
Such nach WOL oder WakeUpOnLan. Eine sicherheit solltest du da allerdings einbauen, wenn du mehrere rechner so hochfahren willst: mach ein delay von einer sekunde zwischen dem hochfahren rein, sonst fliegt die sicherung raus
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#13

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 17:54
hier das mal gefunden


Delphi-Quellcode:
{-----------------------------------------------------------------------------
Unit Name: Shutdown
Author:    Manfred Ruzicka
History:  Mit dieser Unit ist es möglich einen Windows NT /2000 Computer
        über das Netzwerk herunterzufahren, und diesen Vorgang wieder abzubrechen.

        Erklärung der Variablen:
            System: string      - Computername oder IP-Adresse
            Nachricht: string  - Die Nachricht die als Warnung erscheinen soll
                            (nur wenn countdoen <> 0)
            force: boolean      - Ob der Computer bei nicht gespeicherten Dokumenten
                            nachfragt (true = keine nachfrage)
            reboot: boolean      - true = startet den Computer neu
            countdown: integer - gibt die Zeit in Sekunden an, die vor dem
                            Shutdown vergehen soll (0 = keine Warnung)
-----------------------------------------------------------------------------}


unit shutdown;

interface

uses
  Windows,
  StdCtrls;

  procedure shut(system, nachricht: string; force, reboot: boolean; countdown: integer);
  procedure abortshut(system: string);

implementation

  const
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
  var
  hdlg: DWORD = 0;

procedure shut(system, nachricht: string; force, reboot: boolean; countdown: integer);
var
  otoken, hToken: THandle;
  tp: TTokenPrivileges;
  h: Dword;
begin
  OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
  otoken := htoken;
  LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME, tp.Privileges[0].luid);
  tp.privilegecount := 1;
  tp.privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
  h := 0;
  AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges(nil)^, h);
  InitiateSystemShutdown(PChar(system), pchar(nachricht), countdown, force, reboot);
  tp.privilegecount := 1;
  tp.privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
  h := 0;
  AdjustTokenPrivileges(oToken, False, tp, 0, PTokenPrivileges(nil)^, h);
  CloseHandle(hToken);
end;

procedure abortshut(system: string);
var
  hToken: THandle;
  tp: TTokenPrivileges;
  h: Dword;
begin
  OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
  LookupPrivilegeValue(pchar(system), SE_SHUTDOWN_NAME, 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);
  abortSystemShutdown(pchar(system));
end;

end.
Nico Müller
  Mit Zitat antworten Zitat
Zottel
(Gast)

n/a Beiträge
 
#14

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 18:02
@Nicodius
Die function klappt scheinbar leider nur, wenn du admin-rechte hast..... schade... sonst hätt ich gleich wieder unser programm zum runterfahren geändert
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#15

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 18:14
Zitat von Zottel:
@Nicodius
Die function klappt scheinbar leider nur, wenn du admin-rechte hast..... schade...
Schade???? Wär ja noch schöner, wenn jedes x-Beliebige Script-Kiddy meinen Rechner remoter herunterfahren würde. Natürlich(!) geht das nur mit Adminrechten.

Zu Wake on Lan: Wake on Lan mit Indy
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 20:01
Zitat von Delphi Star:
Das Assarbart nützt mir aber herzlich wenig, weil es vor dem Herunterfahren eine Frage stellt, da kann ich meine anderen Rechner ja gleich normal herunterfahren
Wie wäre es mit in die Sourcen kucken und selber anpassen? Willst du was fertiges bist du hier falsch. Dann solltest du auf den bekannten Downloadportalen kucken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#17

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 20:25
hallo,

ich nutze selber das Rshutdown2 . kann das mit der meldung nicht bestätigen. der computer wird problemlos runtergefahren.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
eroe

Registriert seit: 15. Mai 2004
Ort: Brandenburg
31 Beiträge
 
#18

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 20:31
Zitat von Luckie:
Zitat von Delphi Star:
Das Assarbart nützt mir aber herzlich wenig, weil es vor dem Herunterfahren eine Frage stellt, da kann ich meine anderen Rechner ja gleich normal herunterfahren
Wie wäre es mit in die Sourcen kucken und selber anpassen? Willst du was fertiges bist du hier falsch. Dann solltest du auf den bekannten Downloadportalen kucken.
soweit ich das verstanden habe meinte er die windows-sicherheitsabfrage ob der rechner _wirklich_ runtergefahren werden soll, und ich kann mir nur schwer vorstellen dass billy boy ihn so mir nichts dir nichts in seinen source schaun lässt, und sei es nur zum auslesen dieser funktion

PS: korrigiert mich wenn ich falsch liege
"Der ganze Rummel um die Emanzipation hat nichts daran geändert, dass Frauen sich hübsch machen um Männern zu gefallen"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 20:37
Kann das sein, dass es nur innerhalb einer Domain funktioniert? Ich habe es gerade im Heimnetzwerk getestet und der Remoterechner ist nicht runtergefahren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#20

Re: Wie kann man einen Computer über das Netwerk herunterfah

  Alt 19. Mai 2004, 20:41
luckie,

ich gebe nur den computernamen an und fahre ihn runter.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz