オフライン環境にてWindows 10に.net framework 3.5を追加しないといけないことがたまにありますが、数百台に配布する場合は1台、1台回ってられません。そこでGPOで配布する方法を考えました。
コマンドでの配布
通常はWindows 10で.net framework 3.5を追加する場合は、コントロールパネルから「Windowsn機能の有効化または無効化」でチェックボタンをつけて「OK」を押すだけです。
ですが、これを行うとWindows Updatesへ接続してダウンロードしてきてインストールするためオフライン環境ではエラーになります。そのためコマンドプロンプトにて下記コマンドを使う必要があります。
# Windows 10のメディアはDドライブとします。 Dism /online /enable-feature /featurename:NetFX3 /all /Source:D:\sources\sxs\ /limitaccess
参考: .NET Framework 3.5 を有効化する手順について ( Windows 10 )
これを実行するにはWindows 10の同じビルドのインストールメディアが必要となります。この方法をうまいことしてGPOで配布することを思いつきました。なお、オフライン環境としましたが、WSUS環境でも同様の対処が出来ると思います。
バッチファイルで対応
GPOの配布と書いていますが、結局はバッチファイルで対応しています。GPOの設定は省略して、バッチファイルだけの説明となっています。まず始めに.net framework 3.5をインストールするWindows 10と同じビルドのインストールメディアを用意します。
.net framework 3.5はsources\sys に入っているので、共有フォルダ等へsysフォルダをコピーします。
今回は「\\192.168.30.123\nas\sys」に置きました。sysフォルダにはユーザー全員が見られるように権限を付与しておきます。これで下準備は終わりです。
pushd \2.168.30.123\nas\sxs Dism /online /enable-feature /featurename:NetFX3 /all /Source:.\ /limitaccess popd
このバッチファイルをGPOのスタートアップあたりに置くだけで完了です。このままじゃ、起動するたび実行されちゃうとかありますが、それは創意工夫で対応していただければ良いかと思います。
このコマンドのポイントはnet useコマンドを使わずpushdとpopdを使ってシンプルにしているところです。実運用ではログ出力したり、1回しか実行しないようにしていたりとごちゃごちゃしているんですけどね。
なお、ビルドごとに配布するファイルが違うので、ビルドが統一していない環境では、もっと複雑なバッチファイルになってしまうかとおもいます。WMIフィルターを使えばもうちょっとすっきりするかな?
コメント