powershell - 如何使用 PowerShell 提取所有服务的 "Path to executable"

标签 powershell service powershell-2.0 powershell-3.0

Get-Service *sql* | sort DisplayName | out-file c:/servicelist.txt

我有一个一行 PowerShell 脚本来提取本地计算机上运行的所有服务的列表,现在,除了显示“状态”、“名称”和“显示名称”之外,我还想显示“路径”可执行文件”

最佳答案

我认为您需要求助于 WMI:

Get-WmiObject win32_service | ?{$_.Name -like '*sql*'} | select Name, DisplayName, State, PathName

更新 如果您想对选定的数据执行一些操作,您可以使用计算属性,如here所述。 .

例如,如果您只想将文本放在路径名的引号内,则可以用双引号分隔并获取数组项 1:

Get-WmiObject win32_service | ?{$_.Name -like '*sql*'} | select Name, DisplayName, @{Name="Path"; Expression={$_.PathName.split('"')[1]}} | Format-List

也可以使用Get-CimInstance来实现相同的效果,参见here了解 CIM 和 WMI 之间的区别。

Get-CimInstance win32_service | ?{$_.Name -like '*sql*'} | select Name, DisplayName, @{Name="Path"; Expression={$_.PathName.split('"')[1]}} | Format-List

关于powershell - 如何使用 PowerShell 提取所有服务的 "Path to executable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24449113/

相关文章:

xaml - PowerShell 更改 ScriptBlock 中的变量

Powershell脚本更改父powershell的目录

android - 服务内的广播接收器不起作用

delphi - 在当前用户 session 中从服务执行应用程序

PowerShell - 过滤唯一值

json - 在Powershell 2.0中读取JSON对象

powershell - 合并多个文件中的所有内容,找到匹配的字符串并获取每行的计数

regex - Powershell正则表达式在替换期间显示变量名称而不是其值

python - 如何直接从 python 脚本修改 Windows 10 路径变量

wordpress - 如何将 Nginx 配置为仅为 Azure 应用服务上的 WordPress 提供 https 服务