@echo off
REM ### SETLOCAL enabledelayedexpansion
REM ### Winodws7,Windows10共用
REM ###
REM ### Log_Collection.bat
REM ###
REM ### Windowsのイベントログを収集するBatchファイル
REM ###
REM ###

REM ###
REM ### ファイルを格納するフォルダ
REM ###
set DIR_LOG=C:\DKC200\others\mssp\log\

REM ###
REM ### 実行ログファイル
REM ###
set AUTOINSTALL_LOG=%DIR_LOG%AutoInstall_log.txt



REM ###
REM ### コンソール出力制御フラグ
REM ###
set CONSOLE_OFF=0
set CONSOLE_ON=1

REM ###
REM ### バッチの戻り値
REM ###
set ret=0

REM ### Windowsイベントログ収集開始
REM call :LOG_OUT %MSG-COM-021-I% %CONSOLE_OFF%
REM call :LOG_OUT %MSG-COM-010-I% %CONSOLE_ON%

REM ### Windowsイベントログ（削除前）
dir %DIR_LOG% >> %AUTOINSTALL_LOG% 2>>&1

REM ### Windowsイベントログ削除
call :LOG_OUT %MSG-COM-013-I% %CONSOLE_OFF%
del %DIR_LOG%*.evtx /f /Q >> %AUTOINSTALL_LOG% 2>>&1

REM ### Windowsイベントログ（削除後）
dir %DIR_LOG% >> %AUTOINSTALL_LOG% 2>>&1

REM ### 日時　時刻
REM ### for /f "usebackq tokens=*" %%a in (`powershell -Command Get-Date -Format "yyyyaaMMdd_HHmmss"`) do @set yyyyaammdd_HHmmss=%%a
set mmddyyyy=%date:~0,10%
set mmddyyyy=%mmddyyyy:/=%
set hhmmss=%time::=%
set hhmmss=%hhmmss:~0,6%
set hhmmss=%hhmmss: =0%

REM ### Windowsイベントログ収集（Application）
call :LOG_OUT %MSG-COM-014-I% %CONSOLE_OFF%
set filename=%DIR_LOG%Application_%mmddyyyy%_%hhmmss%.evtx
wevtutil epl Application %filename% >> %AUTOINSTALL_LOG% 2>>&1

set BAT_ERROR=!errorlevel!
if !BAT_ERROR! neq 0 (
	call :LOG_OUT %MSG-COM-017-E% %CONSOLE_OFF%
	echo %filename% >> %AUTOINSTALL_LOG%
	set ret=2
)

REM ### Windowsイベントログ収集（Setup）
call :LOG_OUT %MSG-COM-015-I% %CONSOLE_OFF%
set filename=%DIR_LOG%Setup_%mmddyyyy%_%hhmmss%.evtx
wevtutil epl Setup %filename% >> %AUTOINSTALL_LOG% 2>>&1

set BAT_ERROR=!errorlevel!
if !BAT_ERROR! neq 0 (
	call :LOG_OUT %MSG-COM-017-E% %CONSOLE_OFF%
	echo %filename% >> %AUTOINSTALL_LOG%
	set ret=2
)

REM ### Windowsイベントログ収集（System）
call :LOG_OUT %MSG-COM-016-I% %CONSOLE_OFF%
set filename=%DIR_LOG%System_%mmddyyyy%_%hhmmss%.evtx
wevtutil epl System %filename% >> %AUTOINSTALL_LOG% 2>>&1

set BAT_ERROR=!errorlevel!
if !BAT_ERROR! neq 0 (
	call :LOG_OUT %MSG-COM-017-E% %CONSOLE_OFF%
	echo %filename% >> %AUTOINSTALL_LOG%
	set ret=2
)

REM ### Windowsイベントログ（収集後）
dir %DIR_LOG% >> %AUTOINSTALL_LOG% 2>>&1

REM ### Windowsイベントログ収集終了
REM ### if !ret! == 0 (
REM ### 	call :LOG_OUT %MSG-COM-011-I% %CONSOLE_ON%
REM ### ) else (
REM ### 	call :LOG_OUT %MSG-COM-012-E% %CONSOLE_ON%
REM ### )

exit /b !ret!

REM ###############################################
REM ###
REM ### メッセージ出力
REM ###
REM ### 引数
REM ### %1:メッセージ
REM ### %2:コンソール出力スイッチ（CONSOLE_OFF:0 CONSOLE_ON:1）
REM ###
REM ###############################################
:LOG_OUT

REM ### コンソールにメッセージ出力チェック
if %CONSOLE_ON%==%2 (
	REM ### コンソール出力
	set MSGMK1=%1
	set MSGMK2=!MSGMK1:~15!
	set MSGMK3=!MSGMK2:~0,-1!
	echo !MSGMK3!
)

REM ### ログファイル出力
echo [%date%-%time%] %~1 >> %AUTOINSTALL_LOG%

exit /b 0
REM ### ENDLOCAL enabledelayedexpansion
