diff --git a/CHANGELOG.md b/CHANGELOG.md
index 258465a15e8..482e8a9ec15 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -274,7 +274,6 @@ Ansible Changes By Release
* win_reg_stat
* win_region
* win_say
- * win_service_stat
* win_shortcut
* win_tempfile
- xbps
diff --git a/lib/ansible/modules/windows/win_service_stat.ps1 b/lib/ansible/modules/windows/win_service_stat.ps1
deleted file mode 100644
index 57a010ed982..00000000000
--- a/lib/ansible/modules/windows/win_service_stat.ps1
+++ /dev/null
@@ -1,80 +0,0 @@
-#!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
-
-$ErrorActionPreference = "Stop"
-
-$params = Parse-Args $args -supports_check_mode $true
-$check_mode = Get-AnsibleParam -obj $params "_ansible_check_mode" -type "bool" -default $false
-
-$name = Get-AnsibleParam -obj $params -name 'name' -type 'str' -failifempty $true
-
-$result = @{
- changed = $false
-}
-
-$svc = Get-Service -Name $name -ErrorAction SilentlyContinue
-if ($svc) {
- $wmi_svc = Get-WmiObject Win32_Service | Where-Object { $_.Name -eq $svc.Name }
-
- # Delayed start_mode is in reality Automatic (Delayed), need to check reg key for type
- $delayed_key = "HKLM:\System\CurrentControlSet\Services\$name"
- try {
- $delayed = ConvertTo-Bool ((Get-ItemProperty -Path $delayed_key).DelayedAutostart)
- } catch {
- $delayed = $false
- }
- $actual_start_mode = $wmi_svc.StartMode.ToString().ToLower()
- if ($delayed -and $actual_start_mode -eq 'auto') {
- $actual_start_mode = 'delayed'
- }
-
- $existing_depenencies = @()
- $existing_depended_by = @()
- if ($svc.ServicesDependedOn.Count -gt 0) {
- foreach ($dependency in $svc.ServicesDependedOn.Name) {
- $existing_depenencies += $dependency
- }
- }
- if ($svc.DependentServices.Count -gt 0) {
- foreach ($dependency in $svc.DependentServices.Name) {
- $existing_depended_by += $dependency
- }
- }
-
- $description = $wmi_svc.Description
- if ($description -eq $null) {
- $description = ""
- }
-
- $result.exists = $true
- $result.name = $svc.Name
- $result.display_name = $svc.DisplayName
- $result.state = $svc.Status.ToString().ToLower()
- $result.start_mode = $actual_start_mode
- $result.path = $wmi_svc.PathName
- $result.description = $description
- $result.username = $wmi_svc.startname
- $result.desktop_interact = (ConvertTo-Bool $wmi_svc.DesktopInteract)
- $result.dependencies = $existing_depenencies
- $result.depended_by = $existing_depended_by
-} else {
- $result.exists = $false
-}
-
-Exit-Json $result
diff --git a/lib/ansible/modules/windows/win_service_stat.py b/lib/ansible/modules/windows/win_service_stat.py
deleted file mode 100644
index 34c3b7c25d3..00000000000
--- a/lib/ansible/modules/windows/win_service_stat.py
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-#
-# 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 .
-
-# this is a windows documentation stub. actual code lives in the .ps1
-# file of the same name
-
-ANSIBLE_METADATA = {'status': ['preview'],
- 'supported_by': 'community',
- 'version': '1.0'}
-
-DOCUMENTATION = r'''
----
-module: win_service_stat
-version_added: "2.3"
-short_description: returns information about a Windows service
-description:
-- This module will return information about a service such as whether it
- exist or not as well as things like the state, startup type and more.
-options:
- name:
- description: The name of the Windows service to get info for.
- required: True
-author: Jordan Borean (@jborean93)
-'''
-
-EXAMPLES = r'''
-- name: get details on a service
- win_service_stat:
- name: spooler
- register: spooler_info
-'''
-
-RETURN = r'''
-exists:
- description: whether the service exists or not
- returned: success
- type: boolean
- sample: true
-name:
- description: the service name or id of the service
- returned: success and service exists
- type: string
- sample: CoreMessagingRegistrar
-display_name:
- description: the display name of the installed service
- returned: success and service exists
- type: string
- sample: CoreMessaging
-status:
- description: the current running status of the service
- returned: success and service exists
- type: string
- sample: stopped
-start_mode:
- description: the startup type of the service
- returned: success and service exists
- type: string
- sample: manual
-path:
- description:
- returned: success and service exists
- type: string
- sample: C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork
-description:
- description: the path to the executable of the service
- returned: success and service exists
- type: string
- sample: Manages communication between system components.
-username:
- description: the username that runs the service
- returned: success and service exists
- type: string
- sample: LocalSystem
-desktop_interact:
- description: Whether the current user is allowed to interact with the desktop
- returned: success and service exists
- type: boolean
- sample: False
-dependencies:
- description: A list of dependencies the service relies on
- returned: success and service exists
- type: List
- sample: False
-depended_by:
- description: A list of dependencies this service relies on
- returned: success and service exists
- type: List
- sample: False
-'''
diff --git a/test/integration/targets/win_service_stat/aliases b/test/integration/targets/win_service_stat/aliases
deleted file mode 100644
index ee0ed5974e9..00000000000
--- a/test/integration/targets/win_service_stat/aliases
+++ /dev/null
@@ -1 +0,0 @@
-windows/ci/group2
diff --git a/test/integration/targets/win_service_stat/tasks/main.yml b/test/integration/targets/win_service_stat/tasks/main.yml
deleted file mode 100644
index daf7d501e0d..00000000000
--- a/test/integration/targets/win_service_stat/tasks/main.yml
+++ /dev/null
@@ -1,86 +0,0 @@
----
-# Until changes are merged into win_service to create a new module we will need
-# to do it ourselves
-- name: stop test services before test
- win_command: sc stop TestService
- ignore_errors: True
-
-- name: make sure we clean up any test services
- win_command: sc delete TestService
- ignore_errors: True
-
-- name: get stats on service that doesn't exist
- win_service_stat:
- name: TestService
- register: missing_service
-
-- name: assert missing service doesn't exist
- assert:
- that:
- - not missing_service|changed
- - missing_service.exists == False
-
-- name: create a new test service
- win_command: powershell.exe "New-Service -Name TestService -BinaryPathname C:\Windows\System32\snmptrap.exe"
-
-- name: get stats on newly created service
- win_service_stat:
- name: TestService
- register: new_service
-
-- name: assert new service results are what we expect
- assert:
- that:
- - not new_service|changed
- - new_service.exists == True
- - new_service.depended_by == []
- - new_service.dependencies == []
- - new_service.description == ""
- - new_service.desktop_interact == False
- - new_service.display_name == 'TestService'
- - new_service.name == 'TestService'
- - new_service.path == 'C:\Windows\System32\snmptrap.exe'
- - new_service.start_mode == 'auto'
- - new_service.state == 'stopped'
- - new_service.username == 'LocalSystem'
-
-- name: change details about the service
- win_command: powershell.exe "Set-Service -Name TestService -DisplayName NewDisplayName -Description description -StartupType Manual"
-
-- name: get stats on changed service
- win_service_stat:
- name: TestService
- register: changed_service
-
-- name: assert changed service details have changed
- assert:
- that:
- - not changed_service|changed
- - changed_service.exists == True
- - changed_service.description == 'description'
- - changed_service.display_name == 'NewDisplayName'
- - changed_service.start_mode == 'manual'
-
-- name: start the service
- win_service:
- name: TestService
- state: started
- register: started_service
-
-- name: get stats on started service
- win_service_stat:
- name: TestService
- register: started_service
-
-- name: assert service stats is started
- assert:
- that:
- - started_service.state == 'running'
-
-# TODO: Change other service info through win_service once we can do it with a module
-
-- name: stop test services before deleting
- win_command: sc stop TestService
-
-- name: clean up test service at the end
- win_command: sc delete TestService
diff --git a/test/integration/test_win_group2.yml b/test/integration/test_win_group2.yml
index 73ecbf8d9b8..5eae464ec35 100644
--- a/test/integration/test_win_group2.yml
+++ b/test/integration/test_win_group2.yml
@@ -13,4 +13,3 @@
- { role: win_package, tags: test_win_package }
- { role: win_path, tags: test_win_path }
- { role: win_shortcut, tags: test_win_shortcut }
- - { role: win_service_stat, tags: test_win_service_stat }