deekayen.dotnet48
.NET Framework 4.8
WindowsにMicrosoft .NET Framework 4.8をインストール(またはアンインストール)します。
要件
対象のWindowsマシンは、download.microsoft.comから.NETインストーラーをダウンロードできるようにインターネットアクセスがホワイトリストに登録されている必要があります。
ロール変数
デフォルトでは、このロールは.NET Frameworkをインストールします。dotnet48_uninstall
変数をfalse
からtrue
に切り替えると、フレームワークが存在する場合はアンインストールされます。
依存関係
なし。
例のプレイブック
- hosts: servers
roles:
- { role: deekayen.dotnet48, dotnet48_uninstall: false }
インストールの例
TASK [deekayen.dotnet48 : Microsoft .NET Framework 4.8をインストールします。] ************
ok: [10.0.0.100] => {"changed": false, "name": "https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe"}
TASK [deekayen.dotnet48 : debug] **********************************************
ok: [10.0.0.100] => {
"dotnet48_exe": {
"changed": false,
"name": "https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe"
}
}
アンインストールタスクはAnsibleのraw
モジュールを使用しているため、プレイ出力は常にok
ステータスを報告し、changed
とは表示されません。プレイブックが完了する前にmsiexecプロセスが完全にアンインストールを完了していない場合もあります。
Windows 2008R2
Microsoft .NET Frameworkは、Ansibleが接続してPowershellを実行するためにWindows 2008R2に既に存在する必要があります。このモジュールは、希望するバージョンがインストールされていることを確認します。
アンインストールの例
TASK [deekayen.dotnet48 : Microsoft .NET Framework 4.8をアンインストールします。] **********
ok: [10.0.0.100] => {"changed": false, "rc": 0, "stderr": "", "stdout": "", "stdout_lines": []}
TASK [deekayen.dotnet48 : debug] **********************************************
ok: [10.0.0.100] => {
"dotnet48_removed": {
"changed": false,
"rc": 0,
"stderr": "",
"stdout": "",
"stdout_lines": []
}
}
注意
4.8や4.8.1インストーラーのproduct_idを見つけるのが難しかったです。インストールタスクでリストされているのは4.8用のもので、最新の4.8.1ではありませんので、最新のKBが残りません。システム構成に合ったKB5011048が必要です。
Windows 2008R2で.NET Frameworkをアンインストールすると、AnsibleがPowershellを実行する能力が壊れます。このロール以外の方法で.NET Frameworkを再インストールしない限り、Ansibleでリモートホストに再接続することはできません。
ライセンス
BSD