我試圖顯示包含字符串「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