Mentre stavo lavorando alla modifica dello script per la ricerca dei grandi file e cartelle, a un certo punto la sua esecuzione mi generava un errore dove non avevo nessuna indicazione a quale riga si riferisse, come succede di solito. Avevo più di un sospetto su cosa causasse il problema, una punteggiatura sbagliata inserita mentre stavo traducendo in italiano parti dello script, ma dato la lunghezza di oltre mille righe diventava impossibile ritrovare l'errore in una riga specifica senza avere indicazioni.

La prima cosa da fare, se dovesse capitare un caso simile, è attivare il Deep Tracing nella sessione aperta di Powershell con il comando: Set-PSDebug -Trace 1

Dopo aver attivato il Deep Tracing rilancio lo script e vedo scorrere una serie di righe, teoricamente l'errore doveva trovarsi alla riga 216 dove si blocca l'esecuzione.

Ma così non è, la riga 216 è a posto.

Trovo così il comando $Error[0] | Select-Object * che mi mostra, oltre ad una serie di informazioni, che l'errore è alla riga 334.

Confermato dal comando $Error[0].ScriptStackTrace

Come chiusura della riga 334 era presente un punto invece del punto e virgola che doveva esserci.

Dopo aver rimesso il punto e virgola, lo script ha ripreso a funzionare senza errori.
Per terminare il Deep Tracing di PowerShell bisogno usare il comando Set-PSDebug -Off
