
 Zitat von 
Ceos
					 
				 
				ich habe da einen Stackoverflow Eintrag gefunden der als Ergebnis eine bat hat die deinen Zwecken dienen sollte 
 
in der anderen Antwort steckt ein relativ kurzer Powershell Script, der bei mir zumindest 1 mal funktioniert hat
https://stackoverflow.com/questions/...at-run-on-boot
soweit ich den Inhalt verstanden habe macht er auch nichts böses 
 
die Variante mit der Powershell aus der alternativen Antwort finde ich besser, weil minimalistischer
 
	 
 was meinst du mit powershell script?
das hier?
	Code:
	get-winevent -FilterHashTable @{logname="Application"; id="1001"}| ?{$_.providername –match "wininit"} | fl timecreated, message | out-file Desktop\CHKDSKResults.txt
 das gibt einen Fehler 
	
		
			
			
				Der Befehl "get-winevent" konnte nicht gefunden werden.
			
		
 
	 
 
Das Batchfile 
	Code:
	@echo off
Title Check Disk drives for errors and fix them by Hackoo 2016
mode con cols=67 lines=5 & Color 0A
:::::::::::::::::::::::::::::::::::::::::
:: Automatically check & get admin rights
:::::::::::::::::::::::::::::::::::::::::
set "TmpLog=%Tmp%\TmpLog.txt"
set "Log=%~dp0%computername%_%~n0.txt"
set "MyVBSFile=%~dp0%~n0_On_Boot.vbs"
set "Value=CHKDSK_ON_BOOT"
Set "Key=HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce"
If Exist "%TmpLog%" Del "%TmpLog%"
If exist "%Log%" Del "%Log%"
REM  --> Check for permissions
Reg query "HKU\S-1-5-19\Environment" >nul 2>&1
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
Echo.
ECHO                        **************************************
ECHO                         Running Admin shell... Please wait...
ECHO                        **************************************
    goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params = %*:"=""
    echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B
:gotAdmin
::::::::::::::::::::::::::::
::          START         ::
::::::::::::::::::::::::::::
( Echo Scan started @ & Date /T & Time /T & echo ************************ ) > "%TmpLog%"
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=2" %%i in ('wmic logicaldisk where "drivetype=3" ^|find /i ":"') do (
    set "fix=%%i"
        Call :Affich !fix!
    (
        echo !fix! Drive 
        echo ************************
        echo(
        (echo O
        echo Y) | CHKDSK !fix! /f 
        echo(
        echo ************************
    )>> "%TmpLog%"
)
EndLocal
Goto Question
Exit /b
::******************************************************************
:Question
( echo Scan finished @ & Date /T & Time /T & echo ************************ )>> "%TmpLog%"
CMD /U /C Type "%TmpLog%" > "%Log%"
If Exist "%TmpLog%" Del "%TmpLog%"
(
    echo    Answ = MsgBox("Did you want to reboot the computer to complete the scanning ?",VbYesNo+VbQuestion,"Reboot the computer to check hard disk drives for errors by Hackoo"^)
    echo    If Answ = VbYes then 
    echo        wscript.Quit(0^)
    echo    Else
    echo        wscript.Quit(1^)
    echo    End If
)>"%tmp%\%~n0.vbs"
Cscript /nologo "%tmp%\%~n0.vbs"
IF "%errorlevel%" EQU "1" ( goto AddKey ) else ( goto Shutdown )
::******************************************************************
:Shutdown
echo(
cls
echo(
echo     Save your work - Reboot of your computer in 120 seconds
echo(
echo   Enregistrer vos documents - Redemarrage du PC dans 120 seconds 
Call:AddKey && Shutdown.exe /r /t 120 /c "Enregistrer vos documents - Redemarrage du PC dans 120 secondes"
pause>nul
exit /b
::******************************************************************
:Affich
Cls
echo(
echo                ***********************************
Echo                 Please wait a while Scanning "%~1"
echo                ***********************************
Timeout /T 2 /nobreak>nul
exit /b
::******************************************************************
:AddKey
reg query "%key%" /v "%Value%" >nul 2>&1
If "%errorlevel%" EQU "0" ( Goto :EOF
    ) Else (
    reg add "%Key%" /v "%Value%" /t REG_SZ /d "%MyVBSFile%">nul
    (
        echo Option Explicit
        echo 'Run as Admin
        echo If Not WScript.Arguments.Named.Exists("elevate"^) Then
        echo    CreateObject("Shell.Application"^).ShellExecute DblQuote(WScript.FullName^) _
        echo    , DblQuote(WScript.ScriptFullName^) ^& " /elevate", "", "runas", 1
        echo     WScript.Quit
        echo End If
        echo Dim ws,PSCommand,LogFile,ret
        echo LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, "."^)^) ^& "txt"
        echo set ws = createobject("wscript.shell"^)
        echo PSCommand = "cmd /c Powershell -Command ""& ""Get-winevent -FilterHashTable @{logname='Application'; id='1001'}^|?{$_.providername -match 'wininit'} ^| fl timecreated, message ^| out-file "^& SimpleQuote(LogFile^) ^&""
        echo ret = ws.run(PScommand,0,True^)
        echo ws.run DblQuote(LogFile^)
        echo '**************************************
        echo Function DblQuote(Str^)
        echo    DblQuote = chr(34^) ^& Str ^& chr(34^)
        echo End function
        echo '**************************************
        echo Function SimpleQuote(Str^)
        echo    SimpleQuote = ChrW(39^) ^& Str ^& ChrW(39^)
        echo End Function
        echo '**************************************
    )>"%MyVBSFile%"
start "" "%Log%"
)   
Exit /b
::*******************************************************************
 hingegen ist auch nicht bauchbar, weil es nicht die chkdsk-Ergebnisse listet, die bereits gelaufen sind (z.B. auch bei von Windows selber erzeugten chkdsk Läufen auf Grund von Bootfehlern)
						
					
Lesezeichen