如何使用PowerShell [v1.0最好]过滤属于Microsoft [包括Office,IIS,AD,EXCH等应用程序]的服务。
在" msconfig.msc -> Services Tab
"有一个复选框,显示"隐藏所有Microsoft服务",我正在寻找过滤属于MS的服务的相同功能。
这是可能的吗?请帮助。
答案 0 :(得分: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 {}}
答案 1 :(得分: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