![]() |
Re: Wie kann man einen Computer über das Netwerk herunterfah
Wo denn im Code-Libary
|
Re: Wie kann man einen Computer über das Netwerk herunterfah
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 :-D
|
Re: Wie kann man einen Computer über das Netwerk herunterfah
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. |
Re: Wie kann man einen Computer über das Netwerk herunterfah
@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 ;-) |
Re: Wie kann man einen Computer über das Netwerk herunterfah
Zitat:
Zu Wake on Lan: ![]() |
Re: Wie kann man einen Computer über das Netwerk herunterfah
Zitat:
|
Re: Wie kann man einen Computer über das Netwerk herunterfah
hallo,
ich nutze selber das Rshutdown2 . kann das mit der meldung nicht bestätigen. der computer wird problemlos runtergefahren. raik |
Re: Wie kann man einen Computer über das Netwerk herunterfah
Zitat:
PS: korrigiert mich wenn ich falsch liege :D |
Re: Wie kann man einen Computer über das Netwerk herunterfah
Kann das sein, dass es nur innerhalb einer Domain funktioniert? Ich habe es gerade im Heimnetzwerk getestet und der Remoterechner ist nicht runtergefahren.
|
Re: Wie kann man einen Computer über das Netwerk herunterfah
luckie,
ich gebe nur den computernamen an und fahre ihn runter. raik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz