tags:

views:

75

answers:

1

Hi,

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?

+6  A: 
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).

Steven Murawski