@echo off SETLOCAL enabledelayedexpansion REM ###(Winodws10用) REM ### REM ### AutoInstall_Operator.bat REM ### REM ### 保守員がセキュリティPatch適用自動化ツールを初回起動するBatchファイル REM ### REM ### 保守員によりセキュリティPatch適用自動化ツールを初回起動する。 REM ### 前回起動時のAutoInstall.batの終了状態が不明なため、Clear_File.bat及び REM ### AutoInstall.batを起動する。 REM ### REM ### 事前チェックのOS(Windows10)を設定する set OS=Windows10 REM ### 定義用変数(編集不要) set Windows10_VERSION="Version 10.0" set Windows7_VERSION="Version 6.1" REM ### REM ### メッセージ一覧 REM ### set MSG-INI-001-I="MSG-INI-001-I-Security Patch Installation Tool has been started. SVP reboots several time in the process of the Security Patch Installation Tool." set MSG-INI-029-E="MSG-INI-029-E-[Error] Failed to create required folder." set MSG-INI-030-I="MSG-INI-030-I-##### Start AutoInstall_Operator.bat #####" set MSG-END-008-E="MSG-END-008-E-[Error END] Security Patch Installation Tool is error end." set MSG-COM-002-I="MSG-COM-002-I-This window is closed by pushing down an Enter key." set MSG-COM-009-E="MSG-COM-009-E-[Error] A required file can not be found." set MSG-COM-010-I="MSG-COM-010-I-[Start] Start Windows event log collection." set MSG-COM-011-I="MSG-COM-011-I-[Collection SUCCESS] Windows event log collection succeeded." set MSG-COM-012-E="MSG-COM-012-E-[Collection FAILED] Windows event log collection failed." set MSG-COM-013-I="MSG-COM-013-I-Delete Windows event log." set MSG-COM-014-I="MSG-COM-014-I-Collect Windows Application event log files." set MSG-COM-015-I="MSG-COM-015-I-Collect Windows Setup event log file." set MSG-COM-016-I="MSG-COM-016-I-Collect Windows System event log file." set MSG-COM-017-E="MSG-COM-017-E-Failed to collect Windows event log file." set MSG-COM-018-E="MSG-COM-018-E-Failed to start Log_Collection.bat." set MSG-COM-019-E="MSG-COM-019-E-An error occurred in Log_Collection.bat." set MSG-COM-020-I="MSG-COM-020-I-##### Start Log_Collection_Operator.bat #####" set MSG-COM-021-I="MSG-COM-021-I-##### Start Log_Collection.bat #####" REM ### REM ### ファイルを格納するフォルダ REM ### set DIR_FLAG=C:\DKC200\others\mssp\flag\ set DIR_BATCH=C:\DKC200\others\mssp\batch\ set DIR_LOG=C:\DKC200\others\mssp\log\ REM ### REM ### コンソール出力制御フラグ REM ### set CONSOLE_OFF=0 set CONSOLE_ON=1 REM REM ログフォルダ作成 REM if not exist %DIR_LOG% ( mkdir %DIR_LOG% 2>nul if !errorlevel! == 0 ( goto LOOPEND3 ) echo %MSG-INI-029-E% echo %MSG-END-008-E% echo %MSG-COM-002-I% pause > nul 2>&1 exit ) :LOOPEND3 REM ### REM ### AutoInstall_Operator.bat起動開始 REM ### call :LOG_OUT %MSG-INI-030-I% %CONSOLE_OFF% call :LOG_OUT %MSG-INI-001-I% %CONSOLE_ON% echo %~dp0 >> %DIR_LOG%AutoInstall_log.txt REM ### REM ### メッセージの環境変数設定 REM ### set MSGFILE=%~dp0Message_File\message.ini REM ### REM ### メッセージ読み込みチェック REM ### set MSG_READ_CHECK="***** Message Last Line *****" REM ### 設定ファイルが存在するか確認する if not exist %MSGFILE% ( call :LOG_OUT %MSG-COM-009-E% %CONSOLE_ON% echo %MSGFILE% >> %DIR_LOG%AutoInstall_log.txt goto ERROR_END ) REM ### 設定ファイルを読み込む for /f "usebackq tokens=1,* delims==" %%a in ("%MSGFILE%") do ( set %%a=%%b ) REM 環境変数登録チェック IF DEFINED MSG-ZZZ-ZZZ-Z ( REM ### 設定値チェック if !MSG-ZZZ-ZZZ-Z! neq !MSG_READ_CHECK! ( call :LOG_OUT %MSG-COM-009-E% %CONSOLE_ON% echo %MSGFILE% >> %DIR_LOG%AutoInstall_log.txt goto ERROR_END ) ) else ( call :LOG_OUT %MSG-COM-009-E% %CONSOLE_ON% echo %MSGFILE% >> %DIR_LOG%AutoInstall_log.txt goto ERROR_END ) REM ### REM ### OS事前チェック REM ### REM ### ログファイル出力 call :LOG_OUT %MSG-INI-004-I% %CONSOLE_OFF% call set OS_VERSION=%%%OS%_VERSION%% ver | find %OS_VERSION%>nul if %ERRORLEVEL%==1 ( call :LOG_OUT %MSG-INI-005-E% %CONSOLE_ON% call :LOG_OUT %MSG-COM-002-I% %CONSOLE_ON% pause > nul 2>&1 exit ) REM REM フラグフォルダ作成 REM if not exist %DIR_FLAG% ( mkdir %DIR_FLAG% 2>> %DIR_LOG%AutoInstall_log.txt 2>>&1 if !errorlevel! == 0 ( goto LOOPEND1 ) call :LOG_OUT %MSG-INI-029-E% %CONSOLE_OFF% goto ERROR_END ) :LOOPEND1 REM REM BATCHフォルダ作成 REM if not exist %DIR_BATCH% ( mkdir %DIR_BATCH% 2>> %DIR_LOG%AutoInstall_log.txt 2>>&1 if !errorlevel! == 0 ( goto LOOPEND2 ) call :LOG_OUT %MSG-INI-029-E% %CONSOLE_OFF% goto ERROR_END ) :LOOPEND2 REM ### REM ### ファイルクリアBatch実行 REM ### REM ### 存在チェック set BATCH_CLEAR_FILE=%~dp0Batch_File\Clear_File.bat if not exist %BATCH_CLEAR_FILE% ( call :LOG_OUT %MSG-COM-009-E% %CONSOLE_ON% echo %BATCH_CLEAR_FILE% >> %DIR_LOG%AutoInstall_log.txt goto ERROR_END ) call %BATCH_CLEAR_FILE% 2>nul if !errorlevel! == 0 ( goto LOOPEND4 ) else if !errorlevel! == 2 ( goto ERROR_END ) call :LOG_OUT %MSG-INI-025-E% %CONSOLE_OFF% goto ERROR_END :LOOPEND4 REM ### REM ### セキュリティPatch適用自動化ツールBatch実行 REM ### REM ### 存在チェック set BATCH_AUTOINSTALL=%~dp0Batch_File\AutoInstall.bat if not exist %BATCH_AUTOINSTALL% ( call :LOG_OUT %MSG-COM-009-E% %CONSOLE_ON% echo %BATCH_AUTOINSTALL% >> %DIR_LOG%AutoInstall_log.txt goto ERROR_END ) REM start %BATCH_AUTOINSTALL% 2>nul PowerShell.exe -NoProfile -ExecutionPolicy unrestricted -Command 2>nul "Start-Process %BATCH_AUTOINSTALL% -Verb runas" REM ### AutoInstall.bat起動後、本バッチを終了する exit REM ### REM ### 終了 REM ### :ERROR_END REM ### Windows イベントログ収集 call :LOG_COLLECTION REM ### エラー終了 call :LOG_OUT %MSG-END-008-E% %CONSOLE_ON% call :LOG_OUT %MSG-COM-002-I% %CONSOLE_ON% pause > nul 2>&1 exit REM ############################################### REM ### REM ### Windows イベントログ収集 REM ### REM ############################################### :LOG_COLLECTION REM ### Windows イベントログ収集 REM ### 存在チェック REM ### Windowsイベントログ収集開始 call :LOG_OUT %MSG-COM-021-I% %CONSOLE_OFF% call :LOG_OUT %MSG-COM-010-I% %CONSOLE_ON% set BATCH_LOG_COLLECTION=%~dp0Batch_File\Log_Collection.bat if exist %BATCH_LOG_COLLECTION% ( call %BATCH_LOG_COLLECTION% 2>nul set BAT_ERROR=!errorlevel! if !BAT_ERROR! == 0 ( call :LOG_OUT %MSG-COM-011-I% %CONSOLE_ON% ) else if !BAT_ERROR! == 1 ( call :LOG_OUT %MSG-COM-018-E% %CONSOLE_OFF% call :LOG_OUT %MSG-COM-012-E% %CONSOLE_ON% ) else ( call :LOG_OUT %MSG-COM-019-E% %CONSOLE_OFF% call :LOG_OUT %MSG-COM-012-E% %CONSOLE_ON% ) ) else ( call :LOG_OUT %MSG-COM-009-E% %CONSOLE_ON% echo %BATCH_LOG_COLLECTION% >> %DIR_LOG%AutoInstall_log.txt ) exit /b 0 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 >> %DIR_LOG%AutoInstall_log.txt exit /b 0 ENDLOCAL enabledelayedexpansion