Я пытаюсь отобразить имя (только имя) всех установленных служб, которые содержат строку «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...)
Это хорошо, но я просто хочу увидеть название.Поэтому я набираю:
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 ...)
Почему я получаю этот вывод, а не только имена?Что я должен печатать, чтобы получить только имена?