Conditionally perform a command.
Syntax if ( condition ) { commands_to_execute } [ elseif ( condition2 ) { commands_to_execute } ] [ else {commands_to_execute} ] Key Condition An expression that will evaluate to true or false, often utilising one or more comparison operators. commands_to_execute A PowerShell or external command to run if the condition is true.
Notice the different styles of brackets used in this statement: the round brackets or parentheses( ) are always placed around the condition while the curly brackets or braces { } are placed around the commands_to_execute.
Examples
To compare two values, a string, a number or anything else:
$fruit -eq "orange"
If ($fruit -eq "orange") {'We found an orange'}
For this example we are just echoing a line of text, but the expression could be anything, copying a file, starting a service whatever you can think of.
To test more than one item, we can extend this with one or more Elseif() statements:
If ($fruit -eq "orange") {'We found an orange'}
ElseIf ($fruit -eq "apple") {'We found an apple'}
ElseIf ($fruit -eq "pear") {'We found an pear'}
Print the running services in green and stopped services in red:
get-service | foreach-object { if ($_.status -eq "stopped") { write-host -f red $_.name $_.status } else { write-host -f green $_.name $_.status } }
“You see things; and you say 'Why?' But I dream things that never were; and I say 'why not?' - George Bernard Shaw
Related PowerShell Cmdlets:
ForEach - Loop through values in the pipeline.
Comparison operators - Full list.