it技術:セキュリティパッチ
文書の過去の版を表示しています。
目次
セキュリティパッチ
WindowsUpdate未適用リストについて、下記サイトを参考にリストを作成する。
また、パッチのダウンロードも一括で取得でき、更新プログラムのスキャンも可能。
セキュリティパッチ適用
Wusa.exe等に「/quiet /norestart」オプションによりコンピューターが再起動されないようにしている。
Windows の Windows Update スタンドアロン インストーラーについて
エラー一覧
エラー10進 | エラー16進 | エラー内容 |
---|---|---|
1603 | 643 | インストール時の致命的なエラー |
1642 | 66A | .NET Framwork 4のインストールまたはアップデートに失敗した時に発生する。 |
3010 | BC2 | 再起動が必要 ※インストールは行われる |
2359302 | 240006 | インストールする更新は既にインストールされています。 |
-2145124329 | 80240017 | 該当する更新がないため、インストールは不要です。 |
-2068578301 | 84B40003 | SQLServer2008のアップデートに失敗した時に発生する。 |
-2146885628 | 80092004 | 原因不明 |
-2146498302 | 800F0902 | 原因不明 |
システム関連
Windows Update更新一覧取得
- パッチ適用確認.bat
@echo OFF cd /d %~dp0 wmic qfe > updatelist.txt exit /b
パッチ適用バッチ
予め年毎またはIEや.NETなどのシステム単位にパッチを分けてフォルダに格納しておく。
- パッチ一括適用.bat
@echo OFF cd /d %~dp0 SETLOCAL enabledelayedexpansion SET LOG=%cd%\PACHLOG.log SET ERRLOG=%cd%\ERRLOG.log SET returnCode= rem パッチ適用開始 echo パッチ適用開始:%date% %time% >>%LOG% rem 2013年分パッチ適用 call :subPatch 2013 rem 2014年分パッチ適用 call :subPatch 2014 rem 2015年分パッチ適用 call :subPatch 2015 rem 2016年分パッチ適用 call :subPatch 2016 rem 2017年分パッチ適用 call :subPatch 2017 rem パッチ適用完了 echo パッチ適用完了:%date% %time% >>%LOG% echo サーバーの再起動をしてから、パッチ一括リトライ適用.batを実行してください >>%LOG% rem pause ENDLOCAL exit :subPatch CD %1 SET PachDir=%CD% for %%i in (%PachDir%\*.msu) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i C:\Windows\System32\wusa.exe !fileN! /quiet /Norestart echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) for %%i in (%PachDir%\*.exe) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i !fileN! /quiet /Norestart echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) for %%i in (%PachDir%\*.msi) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i C:\Windows\System32\msiexec /i !fileN! echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) for %%i in (%PachDir%\*.cab) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i C:\Windows\System32\dism /online /add-package=!fileN! /Norestart echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) CD .. exit /b
- 参考
■.msu forfiles /p . /m *.msu /c "cmd /c wusa @path /quiet /norestart" ■.exe forfiles /p . /m *.exe /c "cmd /c @path /quiet /norestart" ■.msi forfiles /p . /m *.msi /c "cmd /c msiexec @path /i" ■.cab forfiles /p . /m *.cab /c "cmd /c dism /online /add-package=@path /norestart"
SQL Server 2008がインストール済み確認
SQL Serverがすでにインストールされているか確認するには?
REM ----- SQLServer2008のレジストリを参照 call :DetectSQL "%RemoteName%HKLM\SOFTWARE\Microsoft\Microsoft SQL Server" if %returnCode%==1 ( REM ----- SQL Server 2008のパッチ適用 call :subPatch SQLServer2008 ) REM ------------------------------------------------- REM ----- SQL Sever の検出 REM ------------------------------------------------- :DetectSQL REM ----- インストールの確認 echo. echo SQL Severのインストール確認 reg query "%~1" >nul set sql=%errorlevel% echo %sql% if %sql%==1 ( echo. echo SQL Sever 2008未インストール set returnCode=1 ) else ( echo. echo SQL Sever 2008インストール済み set returnCode=2 ) exit /b
.NET Framework4.xがインストール済み確認
REM ----- .NET Frameworkのレジストリを参照 SET RegKey11=%RemoteName%HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP REM ----- .NET Framework4.0/4.5の確認 call :Detect11_4 ".NET Framework 4" "%RegKey11%\v4" if %returnCode%==1 ( REM ----- .NET Framework4.xのパッチ適用 call :subPatch NET4 ) REM ------------------------------------------------- REM ----- .NET Framework 4.x の検出 REM ------------------------------------------------- :Detect11_4 REM ----- インストールの確認 echo. echo NET Framework4.xのインストール確認 reg query "%~2\Full" /v "Install" 2>nul | find /I "Install" 2>nul | find /I "0x1" 1>nul 2>nul set nf4=%errorlevel% echo %nf4% if %nf4%==1 ( echo. echo NETFramework4/4.5未インストール set returnCode=1 ) else ( echo. echo NET Framework4/4.5インストール済み set returnCode=2 ) exit /b
it技術/セキュリティパッチ.1522993634.txt.gz · 最終更新: 2018/04/06 14:47 by yajuadmin