There are (a few) commands in PowerShell that output information to the console no matter what you do. Neither redirection of streams nor assigning to $null will silence such commands, for example:
PS> $null = Get-WindowsUpdateLog *>&1
Even though all output streams are discarded, the Get-WindowsUpdateLog cmdlet still writes extensive information to the console.
If you come across such a situation, a last resort is to temporarily disable the internal command Out-Default like this:
# temporarily overwrite Out-Default function Out-Default {} # run your code (guaranteed no output) Get-WindowsUpdateLog # test any other direct console write [Console]::WriteLine("Hello") # restore Out-Default Remove-Item -Path function:Out-Default