PowerShell Function之获取service信息

本文介绍了如何使用PowerShell函数获取服务信息,重点关注应该运行但已停止的服务。通过调用Win32_Service类,可以获取服务的启动模式和状态,并探讨了如何进一步获取异常服务的登录账号信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PowerShell Function之获取service信息,很自然会想到这次用到的class是Win32_Service啦~~~~通过前面两篇function的文章,相信大家都应该属性套路了,知道怎么写这个语句了。那么,我们究竟需要获取service的什么信息呢?

正在运行的?已经停止的?

其实都不是,我们比较关心的是应该运行的且已经停止的服务有哪些。那么,哪些才是应该运行的呢?默认来讲,启动模式是自动运行的,就应该是需要运行的。通过运行Get-WmiObject -class Win32_Service看看是否就有我们想要的信息了。如下截图:

很好,的确就有了StartMode和State。那么命令很快就可以写出来了,如下:

了这两个信息,可能我们还还想知道这个异常的服务是哪个登录账号登录的,那么还是需要ExpandProperty的属性哦。

因此,整个脚本如下:

function Get-InfoBadService {
[CmdletBinding()]
param(
[Parameter(Mandatory=$True)][string]$ComputerName
)
$svcs = Get-WmiObject -class Win32_Service -ComputerName $ComputerName -Filter "StartMode='Auto' AND State<>'Running'"
foreach ($svc in $svcs) {
$props = @{'ServiceName'=$svc.name;
'LogonAccount'=$svc.startname;
'DisplayName'=$svc.displayname}
New-Object -TypeName PSObject -Property $props
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值