Seite 1 von 1

"Sie können den Computer jetzt ausschalten"

Verfasst: 11.08.2009 12:40
von Joel
Hi,

Wenn ich über den Windows Shutdown Befehl einen Netzwerk PC herunterfahre, dann kommt immer die Meldung: "Sie können den Computer jetzt ausschalten".

Beim Normalen Herunterfahren per Startmenü kommt die Meldung nicht. Wie stelle ich das beim Shutdown ab?

Habe Windows 2000

Re: "Sie können den Computer jetzt ausschalten"

Verfasst: 11.08.2009 14:14
von Vera
Hi Joel,

schau doch mal hier nach:
http://www.admins-tipps.de/Microsoft/Windows_2000.htm
http://www.admins-tipps.de/Microsoft/Wi ... tarten.htm
http://www.admins-tipps.de/Microsoft/Wi ... wn.exe.htm

Ich verwende seit Anfang an eigene Shortcuts zum Runterfahren etc. (und es wird über die Parameter gesteuert) hatte aber nie mit Win 2000 zu tun. Falls Du es auch so lösen willst und Dir noch die shutdown.exe fehlt - dann nur Bescheid sagen. :wink:

Gruß ~ Vera

Verfasst: 11.08.2009 21:26
von Falko
Beim Win2000er-Rechner in der Firma funktioniert dieser Source
von Michael Vogel ganz gut.

Code: Alles auswählen

;Autor: Michael Vogel
Procedure DoShutDown()
   Protected Privileges.TOKEN_PRIVILEGES
   Protected htoken
   OpenProcessToken_(GetCurrentProcess_(),40,@hToken)
   Privileges\PrivilegeCount=1
   Privileges\Privileges[0]\Attributes=#SE_PRIVILEGE_ENABLED
   LookupPrivilegeValue_(0,"SeShutdownPrivilege",@Privileges\Privileges[0]\Luid)
   AdjustTokenPrivileges_(hToken,0,@Privileges,0,0,0)
   CloseHandle_(hToken)
EndProcedure
Procedure DoSuspend(Hibernate.l,ForceCritical.l,DisableWakeEvent)
   Protected DLL=OpenLibrary(#PB_Any,"Powrprof.dll")
   CallFunction(DLL,"SetSuspendState",Hibernate,ForceCritical,DisableWakeEvent)
   CloseLibrary(DLL)
EndProcedure
Procedure SuspendAllowed()
   Protected DLL=OpenLibrary(#PB_Any,"Powrprof.dll")
   Protected Result=CallFunction(DLL,"IsPwrSuspendAllowed")
   CloseLibrary(DLL)
   ProcedureReturn Result
EndProcedure
Procedure HibernateAllowed()
   Protected DLL=OpenLibrary(#PB_Any,"Powrprof.dll")
   Protected Result=CallFunction(DLL,"IsPwrHibernateAllowed")
   CloseLibrary(DLL)
   ProcedureReturn Result
EndProcedure

Procedure Shutdown(mode)
   Protected SaverActive = #Null

   Select mode
   Case 0
      ; Bildschirmschoner
      SendMessage_(GetForegroundWindow_(),#WM_SYSCOMMAND,#SC_SCREENSAVE,0)

      ; ein wenig warten...
      Delay(5000)

      ; abfragen, ob der Bildschirmschoner läuft...
      If SystemParametersInfo_(#SPI_GETSCREENSAVERRUNNING,0,@SaverActive,0)
         If SaverActive=0
            ; wenn nicht, Bildschirm abdunkeln...
            SendMessage_(GetForegroundWindow_(), #WM_SYSCOMMAND, #SC_MONITORPOWER,1)
         EndIf
      EndIf
   Case 1
      ; Abmelden
      DoShutDown()
      ExitWindowsEx_(0,0)
   Case 2
      ; Beenden
      DoShutDown()
      ExitWindowsEx_(2,0)
   Case 3
      ; Neustart
      DoShutDown()
      ExitWindowsEx_(9,0)
   Case 4
      ; Ruhezustand
      DoSuspend(#True,#False,#False)
   Case 5
      ; Standby
      DoSuspend(#False,#False,#False)
   EndSelect
   End
EndProcedure 
DoShutDown()
 Shutdown(2)
[Edit]
habe wohl das Netzwerk überlesen :freak:
[/Edit]