| Server IP : 123.56.80.60 / Your IP : 216.73.216.78 Web Server : Apache/2.4.54 (Win32) OpenSSL/1.1.1s PHP/7.4.33 mod_fcgid/2.3.10-dev System : Windows NT iZhx3sob14hnz7Z 10.0 build 14393 (Windows Server 2016) i586 User : SYSTEM ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Windows/diagnostics/system/Printer/ |
Upload File : |
# Copyright © 2008, Microsoft Corporation. All rights reserved.
PARAM($printerName)
. .\CL_Utility.ps1
# Check the default printer
# The root cause will be caught if the default printer is not the diagnosed printer..
#
Import-LocalizedData -BindingVariable Strings_TS_DefaultPrinter -FileName CL_LocalizationData
Write-DiagProgress -activity $Strings_TS_DefaultPrinter.progress_ts_defaultPrinter
$defaultPrinter = Get-WmiObject -query "Select * From Win32_Printer Where default=true" -ErrorAction SilentlyContinue
# Store the original default printer
if ((Test-Path "$pwd\prevDefaultPrinter.txt") -eq $false)
{
$prevDefaultPrinter = $defaultprinter.name
echo $prevDefaultPrinter > "$pwd\prevDefaultPrinter.txt"
}
else
{
# retrieve the previous default printer during verification phase
$prevDefaultPrinter = get-content "$pwd\prevDefaultPrinter.txt" -ErrorAction SilentlyContinue
}
#
# The root cause will be caught if at least one physical printer is already installed and the default printer is not a physical printer.
#
if($defaultPrinter -eq $null -or $defaultPrinter.Name -ne $printerName)
{
Update-DiagRootCause -id "RC_WrongDefaultPrinter" -instanceId $prevDefaultPrinter -Detected $true -parameter @{ "PRINTERNAME" = $printerName}
} else {
Update-DiagRootCause -id "RC_WrongDefaultPrinter" -instanceId $prevDefaultPrinter -Detected $false -parameter @{ "PRINTERNAME" = $printerName}
}