$Error.Clear( ) $OldProgressPreference = $ProgressPreference $ProgressPreference = "SilentlyContinue" # Cmdlet for WMI queries changed in PowerShell version 6 # Use 'ShareName' instead of 'Name' for network printers if ( $PSVersionTable.PSVersion.Major -lt 6 ) { Get-WmiObject -Class Win32_Printer -Filter "Name='HP LaserJet 4'" | Invoke-WmiMethod -Name SetDefaultPrinter } else { Get-CimInstance -ClassName Win32_Printer -Filter "Name='HP LaserJet 4'" | Invoke-CimMethod -Name 'SetDefaultPrinter' } $ProgressPreference = $OldProgressPreference if ( $Error ) { Write-Host "Failed to make 'HP LaserJet 4' the default printer" Write-Host "Error: $_" }