経緯
ドメイン環境のWindows7のクライアントPCに.NETフレームワーク4.8を配布したいので、バッチファイルを作成しました。
インストール対象OSはWindows7 SP1としております。
@echo off setlocal ENABLEDELAYEDEXPANSION rem echo start >> %USERPROFILE%\Desktop\install.log rem -- win7判定 ver | find /i "Version 6.1." > nul if %ERRORLEVEL% neq 0 GOTO :end rem echo win7 >> %USERPROFILE%\Desktop\install.log rem -- win7sp判定 FOR /F "tokens=3 delims=," %%A IN ('%SystemRoot%\System32\systeminfo.exe /FO CSV /NH') DO SET osvers=%%A ECHO %osvers%|FIND "Service Pack 1">NUL IF %ERRORLEVEL% neq 0 GOTO :end rem echo win7 SP1 >> %USERPROFILE%\Desktop\install.log rem -- framework4.5以降がインストールされているか reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v "Release" IF %ERRORLEVEL% neq 0 goto install rem -- framework4.5以降がインストールされている時、そのバージョンを取得 FOR /F "TOKENS=1,2,*" %%I IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v "Release"') DO IF "%%I"=="Release" SET VAL1=%%K echo KeyExist >> %USERPROFILE%\Desktop\install.log rem -- framework4.8がインストールされているか IF %VAL1% lss 528040 goto install goto end rem -- framework4.8インストール :install rem echo ***Install*** >> %USERPROFILE%\Desktop\install.log \\server\Framework48\ndp48-x86-x64-allos-enu.exe /passive /showfinalerror /promptrestart :end rem echo end >> %USERPROFILE%\Desktop\install.log endlocal
最後に
後はグループポリシーのログオンスクリプトでこのバッチファイルを呼び出すようにすれば完了です。
また、フレームワークのバージョンを確認するには下記リンクを参照してください。
インストールされている .NET Framework バージョンを確認する