Check if a command has run successfully Check if a command has run successfully powershell powershell

Check if a command has run successfully


Try the $? automatic variable:

$share = Get-WmiObject -Class Win32_Share -ComputerName $Server.name -Credential $credentials -Filter "Description='Default share'"if($?){   "command succeeded"   $share | Foreach-Object {...}}else{   "command failed"}

From about_Automatic_Variables:

$?   Contains the execution status of the last operation. It containsTRUE if the last operation succeeded and FALSE if it failed....$LastExitCode   Contains the exit code of the last Windows-based program that was run.


you can try :

$res = get-WmiObject -Class Win32_Share -Filter "Description='Default share'"if ($res -ne $null){  foreach ($drv in $res)  {    $Localdrives += $drv.Path  }}else{  # your error}


Or if a failure returns no standard output, that would work for an if statement:

if (! (Get-CimInstance Win32_Share -ComputerName $Server.name -Credential $credentials -Filter "Description='Default share'")) {   'command failed'}

Also there's now the or symbol "||" in powershell 7:

Get-CimInstance Win32_Share -ComputerName $Server.name -Credential $credentials -Filter "Description='Default share'" || 'command failed'