Чтобы избежать этого, вы можете перенаправить stderr на ноль, например ::100100
du 2> $null
По существу, консольный хост и ISE (а также удаленное взаимодействие) по-разному обрабатывают поток stderr. На хосте консоли было важно, чтобы PowerShell поддерживал такие приложения, как edit.com, для совместной работы с другими приложениями, которые записывают цветной вывод и ошибки на экран. Если поток ввода-вывода не перенаправляется на хост консоли, PowerShell предоставляет собственному EXE-файлу дескриптор консоли для прямой записи. Это обходит PowerShell, поэтому PowerShell не может видеть, что записаны ошибки, и поэтому не может сообщить об ошибке через $ error или путем записи в поток stderr PowerShell.
ISE и удаленное взаимодействие не должны поддерживать этот сценарий, поэтому они видят ошибки на stderr и впоследствии записывают ошибку и обновляют $ error.