When executing the script in the ISE or also in the console, everything runs fine. No errors or anything else that would stand out.
Funciona bem não significa que não há erros encontrados. Seu script provavelmente os ignora, usando o parâmetro -ErrorAction SilentlyContinue
com cmdlets. Exemplo:
Get-ChildItem -LiteralPath ZZZ:\
Isso gerará o chamado erro de finalização e interromperá o pipeline atual, mas porque o A variável ErrorActionPreference é definida por padrão para Continue
, o script em si continuará a execução. E, como você pode ver, o host do PowerShell registrará esse erro no log de eventos.
Se você quiser depurar seu script e descobrir qual erro causa esse registro de log, defina $ErrorActionPreference
para Stop
no início de seu script e execute-o. O primeiro erro encontrado interromperá a execução do script e você poderá ver os detalhes do erro como este $Error[0]
.
ATUALIZAÇÃO: Estou em perda, já que tudo que tentamos não levou a resultados substanciais:
-
A variável
$Error
está vazia -
Set-StrictMode -Version Latest
não pegou nada -
$PsVersionTable
epowershell_ise.config
estão bem para mim
É definitivamente algo estranho acontecendo aqui e eu não acredito que esses campos vazios sejam normais:
Command Name =
Command Type =
Script Name =
Command Path =
Embora eu ainda tenha algumas ideias para tentar, elas exigem uma pesquisa mais detalhada:
- Verifique seu script em busca de qualquer método \ objetos do PowerShell (montagens de terceiros, objetos COM etc.) e tente comentá-los.
- Tente monitorar o processo do PowerShell com o Process Monitor
Boa sorte!