仅选中“自动”使用 powershell 的服务

发布于 2024-08-31 14:34:19 字数 99 浏览 4 评论 0原文

我见过很多用于手动停止/启动列表中的服务的脚本,但是如何以编程方式生成该列表(仅是自动服务)。我想编写一些重新启动的脚本,并且正在寻找一种方法来验证所有应该启动的服务是否确实正确启动。

I've seen lots of scripts out there for manually stopping/starting services in a list, but how can I generate that list programatically of -just- the automatic services. I want to script some reboots, and am looking for a way to verify that everything did in fact start up correctly for any services that were supposed to.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

摇划花蜜的午后 2024-09-07 14:34:19

Get-Service 返回不公开此信息的 System.ServiceProcess.ServiceController 对象。因此,您应该使用 WMI 来执行此类任务:Get-WmiObject Win32_Service。显示所需 StartMode 并将输出格式化为 Windows 控制面板的示例:

Get-WmiObject Win32_Service |
Format-Table -AutoSize @(
    'Name'
    'DisplayName'
    @{ Expression = 'State'; Width = 9 }
    @{ Expression = 'StartMode'; Width = 9 }
    'StartName'
)

您对自动但未运行的服务感兴趣:

# get Auto that not Running:
Get-WmiObject Win32_Service |
Where-Object { $_.StartMode -eq 'Auto' -and $_.State -ne 'Running' } |
# process them; in this example we just show them:
Format-Table -AutoSize @(
    'Name'
    'DisplayName'
    @{ Expression = 'State'; Width = 9 }
    @{ Expression = 'StartMode'; Width = 9 }
    'StartName'
)

Get-Service returns System.ServiceProcess.ServiceController objects that do not expose this information. Thus, you should use WMI for this kind of task: Get-WmiObject Win32_Service. Example that shows the required StartMode and formats the output a la Windows control panel:

Get-WmiObject Win32_Service |
Format-Table -AutoSize @(
    'Name'
    'DisplayName'
    @{ Expression = 'State'; Width = 9 }
    @{ Expression = 'StartMode'; Width = 9 }
    'StartName'
)

You are interested in services that are automatic but not running:

# get Auto that not Running:
Get-WmiObject Win32_Service |
Where-Object { $_.StartMode -eq 'Auto' -and $_.State -ne 'Running' } |
# process them; in this example we just show them:
Format-Table -AutoSize @(
    'Name'
    'DisplayName'
    @{ Expression = 'State'; Width = 9 }
    @{ Expression = 'StartMode'; Width = 9 }
    'StartName'
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文