У меня есть команда для извлечения информации из базы данных keepass с помощью kpscript. Эта команда может получить 1 линию, множественную линию на нет, но, в конце концов, он всегда возвращает этот вывод:Прокрутите несколько строк до достижения условия
OK: Operation completed successfully.
Что является лучшим способом для обработки каждой строки по отдельности с PowerShell и выйти из цикла если StartsWith ("OK:"): Пример:
KPScript -c:GetEntryString $PASSHOME\$PASSFILE -pw:$PASS -Field:UserName $SEARCH
Administrator
OK: Operation completed successfully.
Эти подходы я безуспешно пытался
$UNAME = KPScript -c:GetEntryString $PASSHOME\$PASSFILE -pw:$PASS -Field:UserName $SEARCH
IF(! $UNAME){
write-host "UNAME1=$UNAME"
write-host "ERROR UNAME" -foreground "red"
exit
}
и
while (! $UNAME) { KPScript -c:GetEntryString $PASSHOME\$PASSFILE -pw:$PASS -Field:UserName $SEARCH }
Также безуспешными
$UNAME=KPScript -c:GetEntryString $PASSHOME\$PASSFILE -pw:$PASS -Field:UserName $SEARCH
write-host "UNAME=$UNAME"
Результат:
UNAME=Administrator OK: Operation completed successfully.
Дело в том, чтобы: UNAME = администратор UNAME = OK: Операция успешно завершена. Таким образом, каждую линию можно обрабатывать индивидуально
Возможно, это может быть выполнено с помощью массива?
Также безуспешными
[email protected](KPScript -c:GetEntryString $PASSHOME\$PASSFILE -pw:$PASS -Field:UserName $SEARCH)
write-host "UNAME=$UNAME"
Выход тот же:
UNAME=Administrator OK: Operation completed successfully.
пытались ли вы что-нибудь? У вас уже есть смысл идеи. Вы знакомы с циклами на PowerShell и конвейером? – Matt
Я на самом деле пробовал много вещей: в то время как для foreach, но я не вижу, чтобы получить результат, который я хочу, поэтому я прошу о помощи. В конце концов мне нужно обработать каждую строку индивидуально в зависимости от данных. –
Это потрясающе. Я ценю ваши усилия. Вы можете показать это здесь? – Matt