diff options
author | Matt Davis <nitzmahone@users.noreply.github.com> | 2016-01-14 17:36:44 -0800 |
---|---|---|
committer | Matt Davis <nitzmahone@users.noreply.github.com> | 2016-01-14 17:36:44 -0800 |
commit | dfcd227cfe84540180698da8ce7103314a491429 (patch) | |
tree | 259623279a5fc428649da6a0d398fbaf3bf09a09 /windows/setup.ps1 | |
parent | 51056bac9d163a5cafbdbf0d21060886e1b3746a (diff) | |
parent | 02b3f74f507bac9013868c88cb8d164eec99b174 (diff) | |
download | ansible-modules-core-dfcd227cfe84540180698da8ce7103314a491429.tar.gz |
Merge pull request #2380 from blakfeld/add_facter_to_setup_ps1
Adding Facter Support to Setup.ps1
Diffstat (limited to 'windows/setup.ps1')
-rw-r--r-- | windows/setup.ps1 | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/windows/setup.ps1 b/windows/setup.ps1 index b31e7668..c60e8f3b 100644 --- a/windows/setup.ps1 +++ b/windows/setup.ps1 @@ -41,18 +41,18 @@ foreach ($adapter in $ActiveNetcfg) default_gateway = $null interface_index = $adapter.InterfaceIndex } - + if ($adapter.defaultIPGateway) { $thisadapter.default_gateway = $adapter.DefaultIPGateway[0].ToString() } - + $formattednetcfg += $thisadapter;$thisadapter = $null } Set-Attr $result.ansible_facts "ansible_interfaces" $formattednetcfg -Set-Attr $result.ansible_facts "ansible_architecture" $win32_os.OSArchitecture +Set-Attr $result.ansible_facts "ansible_architecture" $win32_os.OSArchitecture Set-Attr $result.ansible_facts "ansible_hostname" $env:COMPUTERNAME; Set-Attr $result.ansible_facts "ansible_fqdn" "$([System.Net.Dns]::GetHostByName((hostname)).HostName)" @@ -111,9 +111,28 @@ if ($winrm_cert_thumbprint) $winrm_cert_expiry = Get-ChildItem -Path Cert:\LocalMachine\My | where Thumbprint -EQ $uppercase_cert_thumbprint | select NotAfter -if ($winrm_cert_expiry) +if ($winrm_cert_expiry) { Set-Attr $result.ansible_facts "ansible_winrm_certificate_expires" $winrm_cert_expiry.NotAfter.ToString("yyyy-MM-dd HH:mm:ss") } +# See if Facter is on the System Path +Try { + $facter_exe = Get-Command facter -ErrorAction Stop + $facter_installed = $true +} +Catch { + $facter_installed = $false +} + +# Get JSON from Facter, and parse it out. +if ($facter_installed) { + &facter -j | Tee-Object -Variable facter_output | Out-Null + $facts = "$facter_output" | ConvertFrom-Json + ForEach($fact in $facts.PSObject.Properties) { + $fact_name = $fact.Name + Set-Attr $result.ansible_facts "facter_$fact_name" $fact.Value + } +} + Exit-Json $result; |