我试图显示包含字符串“SQL”的所有已安装服务的名称(只是名称)。例如,我想看看显示匹配字符串模式的所有服务名称
- 的SQLAgent $ SQL2008_R2
- SQLBrowser
- SQLWRITER
所以我试试这个:
Get-WmiObject Win32_Service
这将显示所有的服务,但作为一个列表。
Exit Code : 0
Name : ProtectedStorage
ProcessId : 664
StartMode : Manual
State : Running
Status : OK
Exit Code : 1077
Name : QWAVE
ProcessId : 0
StartMode : Manual
State : Stopped
Status : OK
(etc...)
这很好,但我只想看到这个名字。所以,I型:
Get-WmiObject Win32_Service | select-object Name
而且我得到了我期望:
sppuinotfy
SQLAgent$SQL2008_RT
SQLBrowser
SQLWriter
SSDPSRV
(etc ..)
一切都很好。我采取下一步的名称过滤只包括SQL相关的:
Get-WmiObject Win32_Service | select-object Name | select-string -pattern 'SQL'
现在它很混乱。这里是我的输出:
@{Name=BcmSqlStartupSvc}
@{Name=MSOLAP$SQL2008_R2}
@{Name=MSSQL$SQL2008_R2}
(etc ...)
为什么我得到这个输出,而不是只是名称? 我应该输入什么来获取名称?
谢谢。我的下一个学习任务是了解之间的区别‘选择对象-ExpandProperty名称’和“select-object {$ _。Name}” – 2011-01-19 03:43:36