From 553f28be01fcaa149100caf8b590a18b166553e4 Mon Sep 17 00:00:00 2001 From: Jordan Borean Date: Fri, 28 Aug 2020 00:17:27 +1000 Subject: [PATCH] setup - Add defensive null check in case bios date is null (#71452) --- changelogs/fragments/win_setup-bios.yml | 2 ++ lib/ansible/modules/windows/setup.ps1 | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/win_setup-bios.yml diff --git a/changelogs/fragments/win_setup-bios.yml b/changelogs/fragments/win_setup-bios.yml new file mode 100644 index 00000000000..f3b1379de76 --- /dev/null +++ b/changelogs/fragments/win_setup-bios.yml @@ -0,0 +1,2 @@ +bugfixes: +- setup - Add a null check for ``Win32_Bios.ReleaseData`` to avoid a failure when that value is not set - https://github.com/ansible/ansible/issues/69736 diff --git a/lib/ansible/modules/windows/setup.ps1 b/lib/ansible/modules/windows/setup.ps1 index a8c615122e7..ccc2d3589b8 100644 --- a/lib/ansible/modules/windows/setup.ps1 +++ b/lib/ansible/modules/windows/setup.ps1 @@ -158,12 +158,16 @@ if($gather_subset.Contains('bios')) { $win32_bios = Get-LazyCimInstance Win32_Bios $win32_cs = Get-LazyCimInstance Win32_ComputerSystem $ansible_facts += @{ - ansible_bios_date = $win32_bios.ReleaseDate.ToString("MM/dd/yyyy") + ansible_bios_date = $null ansible_bios_version = $win32_bios.SMBIOSBIOSVersion ansible_product_name = $win32_cs.Model.Trim() ansible_product_serial = $win32_bios.SerialNumber # ansible_product_version = ([string] $win32_cs.SystemFamily) } + + if ($win32_bios.ReleaseDate) { + $ansible_facts.ansible_bios_date = $win32_bios.ReleaseDate.ToString("MM/dd/yyyy") + } } if($gather_subset.Contains('date_time')) {