vorraussetzungen: ich habe im büro, wo ich den strom nicht bezahlen muss, ein paar pcs stehen, die ich über nacht zum falten nutzen möchte. vorgaben waren:
-tagsüber soll die performance nicht verringert werden
-nachts soll der pc völlig selbstständig falten, wenn der pc abgestürzt ist, soll er weiterfalten. morgens soll der pc gegen 7 ausgehen.
-es soll ein log geben, wo ich sehen kann, ob gefaltet wurde.
was ich gemacht habe:
-fah installiert (den normalern client, für das jeweils einzige konto auf den pcs), als config-ordner einen unterordner "config" im standardorder gewählt (c:\program...\fahclient\config)
-dem jeweils einzigen konto ein passwort gegeben und einen automatischen login eingerichtet
-in der aufgabenplanung mit dem trigger "bei benutzeranmeldung" time.bat eingetragen ("mit höchsten privilegien ausführen" aktiviert)
-im bios eingestellt, dass der pc jeden abend um 21:45 angeht
-exit.bat in den config-ordner kopiert
die pcs falten jetzt nachts wie gewünscht und es wird ein log im config-ordner angelegt. die bats sind in der zip oder hier:
time.bat:
Code:
@echo off
pushd "C:\Program Files (x86)\FAHClient\config"
set zeit=%time:~0,2%
set lzeit=%time:~0,8%
set datum=%date:~6,4%-%date:~3,2%-%date:~0,2%
echo %datum%: %lzeit% - Computer gestartet / entsperrt >>fahlog.txt
if %zeit% GEQ 21 goto start22
if %zeit% LEQ 6 goto start6
goto nostart
:nostart
echo FAH wurde nicht gestartet. Abbruch>>fahlog.txt
goto fin
:start22
set lzeit=%time:~0,8%
set /a lz1=(23-%zeit%)*60+430
set /a lz2=%lz1%*60
shutdown /s /f /t %lz2%
echo %lzeit% - Der PC wird in %lz1% Minuten heruntergefahren. >>fahlog.txt
echo %lzeit% - FAH wird gestartet>>fahlog.txt
start exit.bat
"C:\Program Files (x86)\FAHClient\FAHClient.exe"
goto fin
:start6
set lzeit=%time:~0,8%
set /a lz1=(6-%zeit%)*60+30
set /a lz2=%lz1%*60
shutdown /s /f /t %lz2%
echo %lzeit% - Der PC wird in %lz1% Minuten heruntergefahren. >>fahlog.txt
echo %time% - FAH wird gestartet>>fahlog.txt
start exit.bat
"C:\Program Files (x86)\FAHClient\FAHClient.exe"
goto fin
:fin
echo. >>fahlog.txt
exit.bat:
Code:
@echo off
pushd "C:\Program Files (x86)\FAHClient\config"
set zeit=%time:~0,2%
if %zeit% GEQ 21 goto start22
if %zeit% LEQ 6 goto start6
:start22
set /a lz1=(23-%zeit%)*60+430
set /a lz2=%lz1%*60-100
goto fin
:start6
set /a lz1=(6-%zeit%)*60+30
set /a lz2=%lz1%*60-100
goto fin
:fin
timeout /T 10
set lzeit=%time:~0,8%
tasklist| findstr "FAHClient.exe" && echo %lzeit% - FAH erfolgreich gestartet>>fahlog.txt || goto norun
timeout /T %lz2%
for /F "tokens=2" %%a in ('tasklist /fi "IMAGENAME eq FAHClient.exe" /FO TABLE /NH') do (set "pid=%%a") ||%lzeit% - echo FAH laeuft nicht>>fahlog.txt
taskkill /PID %pid%
set lzeit=%time:~0,8%
echo %lzeit% - FAH wurde beendet.>>fahlog.txt
goto end
:norun
echo %lzeit% - FAH läuft nicht>>fahlog.txt
echo Shutdown. >>fahlog.txt
echo. >>fahlog.txt
shutdown /a
shutdown /s /f /t 10
:end
set lzeit=%time:~0,8%
echo %lzeit% - Ablauf erfolgreich >>fahlog.txt
das log sieht dann z.B. so aus:
Code:
2013-03-30: 0:38:34 - Computer gestartet / entsperrt
0:38:35 - Der PC wird in 390 Minuten heruntergefahren.
0:38:36,01 - FAH wird gestartet
0:38:46 - FAH erfolgreich gestartet
7:07:07 - FAH wurde beendet.
7:07:07 - Ablauf erfolgreich
_
2013-03-30: 10:08:37 - Computer gestartet / entsperrt
FAH wurde nicht gestartet. Abbruch