diff --git a/library/windows/assemble.ps1 b/library/windows/assemble.ps1
index e5c4a01907..c4627bb48a 100644
--- a/library/windows/assemble.ps1
+++ b/library/windows/assemble.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$data = 'FIXME';
diff --git a/library/windows/async_wrapper.ps1 b/library/windows/async_wrapper.ps1
index e5c4a01907..c4627bb48a 100644
--- a/library/windows/async_wrapper.ps1
+++ b/library/windows/async_wrapper.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$data = 'FIXME';
diff --git a/library/windows/command.ps1 b/library/windows/command.ps1
index e5c4a01907..c4627bb48a 100644
--- a/library/windows/command.ps1
+++ b/library/windows/command.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$data = 'FIXME';
diff --git a/library/windows/copy.ps1 b/library/windows/copy.ps1
index e5c4a01907..c4627bb48a 100644
--- a/library/windows/copy.ps1
+++ b/library/windows/copy.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$data = 'FIXME';
diff --git a/library/windows/file.ps1 b/library/windows/file.ps1
index e5c4a01907..c4627bb48a 100644
--- a/library/windows/file.ps1
+++ b/library/windows/file.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$data = 'FIXME';
diff --git a/library/windows/ping.ps1 b/library/windows/ping.ps1
index 74311119c5..6d1af14e9e 100644
--- a/library/windows/ping.ps1
+++ b/library/windows/ping.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$data = 'pong';
diff --git a/library/windows/setup.ps1 b/library/windows/setup.ps1
new file mode 100644
index 0000000000..9b77487c42
--- /dev/null
+++ b/library/windows/setup.ps1
@@ -0,0 +1,71 @@
+#!powershell
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see .
+
+# WANT_JSON
+# POWERSHELL_COMMON
+
+$params = Parse-Args $args;
+
+$fact_path = "C:\ansible\facts.d"
+If ($params.fact_path.GetType)
+{
+ $fact_path = $params.fact_path;
+}
+
+$filter = "*"
+If ($params.filter.GetType)
+{
+ $filter = $params.filter;
+}
+
+$result = New-Object psobject @{
+ ansible_facts = New-Object psobject
+ changed = $false
+};
+
+If (Test-Path $fact_path)
+{
+ Get-ChildItem $fact_path -Filter *.fact | Foreach-Object
+ {
+ $facts = Get-Content $_ | ConvertFrom-Json
+ # TODO: Need to concatentate this with $result
+ }
+}
+
+$osversion = [Environment]::OSVersion
+
+Set-Attr $result.ansible_facts "ansible_hostname" $env:COMPUTERNAME;
+Set-Attr $result.ansible_facts "ansible_fqdn" "$([System.Net.Dns]::GetHostByName((hostname)).HostName)"
+Set-Attr $result.ansible_facts "ansible_system" $osversion.Platform
+Set-Attr $result.ansible_facts "ansible_os_family" "Windows"
+Set-Attr $result.ansible_facts "ansible_distribution" $osversion.VersionString
+Set-Attr $result.ansible_facts "ansible_distribution_version" $osversion.Version.ToString()
+
+# Need to figure out how to filter the code. Below is a start but not implemented
+#If ($filter != "*")
+#{
+# $filtered = New-Object psobject;
+# $result.psobject.properties | Where
+# {
+# $_.Name -like $filter |
+# }
+#}
+#Else
+#{
+# $filtered = $result;
+#}
+
+echo $result | ConvertTo-Json;
diff --git a/library/windows/slurp.ps1 b/library/windows/slurp.ps1
index 6f001a4924..8fedcdc2f9 100644
--- a/library/windows/slurp.ps1
+++ b/library/windows/slurp.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$src = '';
diff --git a/library/windows/stat.ps1 b/library/windows/stat.ps1
index bf422858ab..50a46064d2 100644
--- a/library/windows/stat.ps1
+++ b/library/windows/stat.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$path = '';
diff --git a/library/windows/win_ping.ps1 b/library/windows/win_ping.ps1
index 74311119c5..6d1af14e9e 100644
--- a/library/windows/win_ping.ps1
+++ b/library/windows/win_ping.ps1
@@ -1,7 +1,4 @@
#!powershell
-# WANT_JSON
-# POWERSHELL_COMMON
-
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see .
+# WANT_JSON
+# POWERSHELL_COMMON
+
$params = Parse-Args $args;
$data = 'pong';