2008-12-05 72 views
4

我過去這樣做的時候,也記不住正確的命令(我想我是用instring或soemthign?)過濾服務調用get-服務

我想列出所有正在運行的窗口服務在他們中有'sql'這個詞。

列出所有的Windows服務是:

Get-Service 

是否有做這個instring功能?

回答

15
Get-Service -Name *sql* 

更長的替代方法是:

Get-Service | where-object {$_.name -like '*sql*'} 

很多的cmdlet提供內置的過濾和支持通配符。如果您檢查幫助文件(獲取幫助GET-服務-full)時,你會看到

-name <string[]> 
    Specifies the service names of services to be retrieved. Wildcards are 
    permitted. By default, Get-Service gets all of the services on the comp 
    uter. 

    Required?     false 
    Position?     1 
    Default value    * 
    Accept pipeline input?  true (ByValue, ByPropertyName) 
    Accept wildcard characters? true 

通常,如果過濾內置於該cmdlet,這是要走的首選方法,因爲它往往是更快並且更高效。
在這種情況下,可能不會有太大的性能優勢,但在V2,在那裏你可以從遠程計算機和過濾拉動服務會有首選的方法(更少的數據發送回調用計算機) 。

2

請輸入以下命令:

Get-Service -Name '*<search string>*'