カテゴリー
Windows グループポリシー

グループポリシーで.NETフレームワークのインストール

経緯

ドメイン環境の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 バージョンを確認する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です