Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Filter services when calling Get-Service

Tags:

powershell

I did this in the past, and can't remember the correct command (I think I was using instring or soemthign?)

I want to list all the windows services running that have the word 'sql' in them.

Listing all the windows services is:

Get-Service

Is there a instring function that does this?

like image 256
Blankman Avatar asked Dec 05 '08 19:12

Blankman


1 Answers

Get-Service -Name *sql*

A longer alternative would be:

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

Many cmdlets offer built in filtering and support wildcards. If you check the help files (Get-Help Get-Service -full), you will see

 -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

Usually if filtering is built in to the cmdlet, that is the preferred way to go, since it is often faster and more efficient.
In this case, there might not be too much of a performance benefit, but in V2, where you could be pulling services from a remote computer and filtering there would be the preferred method (less data to send back to the calling computer).

like image 128
Steven Murawski Avatar answered Nov 09 '22 09:11

Steven Murawski