summaryrefslogtreecommitdiff
path: root/windows/setup.ps1
diff options
context:
space:
mode:
authorMatt Davis <nitzmahone@users.noreply.github.com>2016-01-14 17:36:44 -0800
committerMatt Davis <nitzmahone@users.noreply.github.com>2016-01-14 17:36:44 -0800
commitdfcd227cfe84540180698da8ce7103314a491429 (patch)
tree259623279a5fc428649da6a0d398fbaf3bf09a09 /windows/setup.ps1
parent51056bac9d163a5cafbdbf0d21060886e1b3746a (diff)
parent02b3f74f507bac9013868c88cb8d164eec99b174 (diff)
downloadansible-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.ps127
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;