"Access is denied"
сообщение появляется в потоке ошибок. Вы можете использовать операторы перенаправления Windows PowerShell, например, следующим образом:
$aux = . plink -batch -ssh $defUser@$srv -pw $defPassword -m $executeCommandFile *>&1 if ( $aux -match '^Access.*denied' ) { ### the specified string found: use different $defPassword } else { ### success $aux ### show plink results }
Обратите внимание, что 2>&1
может быть достаточно:
*>&1
отправляет все выходные данные (*
) в поток вывода успеха;2>&1
отправляет ошибки (2
) и успех вывода (1
) в поток вывода успеха.