【Win10】メディア不要!!PowerShellで.NET Framework3.5の有効化

【Win10】メディア不要!!PowerShellで.NET Framework3.5の有効化

こちらの記事でWindows10で.Net Framework 3.5をオフラインで有効化する方法を書きました。
【Win10】0x80240438が発生して.NET Framework 3.5の有効化が出来ない!?

この方法はWindows10のインストーラーやローカルグループポリシーの設定を変更するなど少々手間がかかります。 一度だけなら苦になりませんが、会社などたくさんのパソコンを管理していると時間をとられてしまいます。

出来ればバッチやActiveDirectoryなどで自動化できればと思っていました。
すると先日、この記事を読んでくださった方がPaworShellから.NET Framework 3.5を有効化する方法を教えてくださいました。
この方法でも0x80240438などのエラーは回避できることも確認済です。

環境

Windows 10 pro 64bit

.NET Framework 3.5を有効化するPowerShellのコマンドレッド

Power Shell を管理者権限で起動する

[スタート]を右クリック → [Windows PowerShell(管理者)]を選択します。

Power Shell で.NET Framework3.5を有効化するコマンドレットを実行

次のコマンドレットを上から順番にコピペした後に[Enter]で実行します。
# 行はコメントなので実行するときは無視してください。

# WSUSサーバーの設定レジストリを変更(0:Windows Updateを利用する, 1:SUSを利用する)
Set-ItemProperty -Path ‘HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU’ -Name ‘UseWUServer’ -Value 0;

# Windows Update サービスを再起動
restart-service wuauserv;

# Windows Update から .NET Framework 3.5 の機能ファイルをインストール
dism /online /Enable-Feature /FeatureName:NetFx3;

# WSUSサーバーの設定レジストリを元に戻す
Set-ItemProperty -Path ‘HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU’ -Name ‘UseWUServer’ -Value 1;

これだけで.NET Framework 3.5の有効化が完了です。
今までインストーラーをUSBメモリに保存しておいて、設定の度に取り出してきていた手間も各種設定を変える手間も無くなります。
教えてくださった55さんに感謝です。

ただ、これだけでも簡単ですがPowerShellを起動したりコマンドレットをコピペも面倒に感じてきます。
そこで、今回の処理をスクリプトファイルにまとめておきます。

スクリプトファイルを作成する

メモ帳を開き、先ほどの処理を張り付けます。
そして、.ps1という拡張子でファイルを保存して終わりです。

Framework_35_Install.ps1
# WSUSサーバーの設定レジストリを変更(0:Windows Updateを利用する, 1:SUSを利用する)
Set-ItemProperty -Path ‘HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU’ -Name ‘UseWUServer’ -Value 0;

# Windows Update サービスを再起動
restart-service wuauserv;

# Windows Update から .NET Framework 3.5 の機能ファイルをインストール
dism /online /Enable-Feature /FeatureName:NetFx3;

# WSUSサーバーの設定レジストリを元に戻す
Set-ItemProperty -Path ‘HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU’ -Name ‘UseWUServer’ -Value 1;

PowerShellスクリプトファイルの実行方法

PowerShellのスクリプトファイルはダブルクリックをしても実行できません。
先ほどのファイルを右クリックし[PowerShellで実行]を選択すれば実行できます。

.NET Framework 3.5を有効化する際に発生した0x80240438のエラーはWSUSが関係していそうなのでWSUSの設定でも対応ができそうですが、その環境がないので当面は教えていただいたPowerShellで有効化する方法で運用していこうと思います。

Commentsこの記事のコメント

メールアドレスが公開されることはありません。お気軽にコメントどうぞ。

人気記事