diff --git a/changelogs/fragments/setup.ps1-parity-with-linux-regarding-missing-local-facts-path.yml b/changelogs/fragments/setup.ps1-parity-with-linux-regarding-missing-local-facts-path.yml new file mode 100644 index 00000000000..e43747c2382 --- /dev/null +++ b/changelogs/fragments/setup.ps1-parity-with-linux-regarding-missing-local-facts-path.yml @@ -0,0 +1,2 @@ +minor_changes: +- "setup.ps1 - parity with linux regarding missing local facts path (https://github.com/ansible/ansible/issues/57974)" diff --git a/lib/ansible/modules/windows/setup.ps1 b/lib/ansible/modules/windows/setup.ps1 index 652d2b0b723..3422163d887 100644 --- a/lib/ansible/modules/windows/setup.ps1 +++ b/lib/ansible/modules/windows/setup.ps1 @@ -12,15 +12,17 @@ Function Get-CustomFacts { $factpath = $null ) - if (-not (Test-Path -Path $factpath)) { - Fail-Json $result "The path $factpath does not exist. Typo?" - } - - $FactsFiles = Get-ChildItem -Path $factpath | Where-Object -FilterScript {($PSItem.PSIsContainer -eq $false) -and ($PSItem.Extension -eq '.ps1')} + if (Test-Path -Path $factpath) { + $FactsFiles = Get-ChildItem -Path $factpath | Where-Object -FilterScript {($PSItem.PSIsContainer -eq $false) -and ($PSItem.Extension -eq '.ps1')} - foreach ($FactsFile in $FactsFiles) { - $out = & $($FactsFile.FullName) - $result.ansible_facts.Add("ansible_$(($FactsFile.Name).Split('.')[0])", $out) + foreach ($FactsFile in $FactsFiles) { + $out = & $($FactsFile.FullName) + $result.ansible_facts.Add("ansible_$(($FactsFile.Name).Split('.')[0])", $out) + } + } + else + { + Add-Warning $result "Non existing path was set for local facts - $factpath" } }