如何使用PowerShell过滤Microsoft服务

问题描述 投票:0回答:2

如何使用PowerShell [v1.0]来过滤属于Microsoft [包括Office,IIS,AD,EXCH等应用程序]的服务。

在“msconfig.msc -> Services Tab”中有一个复选框,上面写着“隐藏所有Microsoft服务”,我正在寻找过滤属于MS的服务的相同功能。

这有可能吗?请帮助。

windows powershell service
2个回答
1
投票

这将为您提供一个开始的方法:

Get-WmiObject Win32_Service -Property * | Select DisplayName,PathName | %{ Try { if([System.Diagnostics.FileVersionInfo]::GetVersionInfo("$($_.PathName.ToString().Split("-")[0].Split("/")[0])").LegalCopyright -like "*Microsoft*") {"$($_.DisplayName) is a Microsoft Service"}} catch {}}

0
投票

我用上面的代码来做这件事。我对所有非MS服务和更通用的输出格式感兴趣。

$services = Get-WmiObject Win32_Service -Property Name,DisplayName,PathName | Select 
Name, DisplayName,PathName
$serviceList = New-Object System.Collections.ArrayList
foreach ($service in $services) {
  Try {
    $path = $service.Pathname.tostring().replace('"','')
    $cri = ([System.Diagnostics.FileVersionInfo]::GetVersionInfo($path)).legalcopyright
    if ($cri -notlike "*Microsoft*") {
      $serviceList += $service
    }
  } catch {}
}
$serviceList
© www.soinside.com 2019 - 2024. All rights reserved.