$LastExitCode
исключительно для собственных кодов выхода EXE.Это не относится к командлетам.$?
должно работать, если командлет обнаруживает ошибку и записывает объект ошибки.Похоже, этот командлет не обнаружил внутреннюю ошибку.Если вы запускаете $error.Clear()
, то команда Expand-Archive
содержит ли $error[0]
ошибку?
Кроме того, возможно ли, что командлет по-прежнему расширяет исполняемый файл при попытке его выполнить?Я предполагаю, что вы ждете завершения командлета, прежде чем пытаться запустить консольное приложение.Я думаю, также возможно, что есть ошибка, когда файл закрывается / удаляется.Что если вы попробуете [gc]::collect()
после Expand-Archive
.Вы все еще получаете ошибку?