deekayen.dotnet48
.NET Framework 4.8
在Windows上安装(或卸载)Microsoft .NET Framework 4.8。
要求
目标Windows机器必须具备白名单的Internet访问权限,以从download.microsoft.com下载.NET安装程序。
角色变量
默认情况下,此角色会安装.NET Framework。将dotnet48_uninstall
变量从false
切换为true
,如果该框架已存在,则会卸载它。
依赖
无。
示例剧本
- hosts: servers
roles:
- { role: deekayen.dotnet48, dotnet48_uninstall: false }
示例安装
任务 [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"}
任务 [deekayen.dotnet48 : 调试] **********************************************
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
在Windows 2008R2上,必须已经存在Microsoft .NET Framework,才能让Ansible连接并调用Powershell。此模块将确认所需版本是否已安装。
示例卸载
任务 [deekayen.dotnet48 : 卸载Microsoft .NET Framework 4.8.] **********
ok: [10.0.0.100] => {"changed": false, "rc": 0, "stderr": "", "stdout": "", "stdout_lines": []}
任务 [deekayen.dotnet48 : 调试] **********************************************
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