HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Windows/diagnostics/system/DeviceCenter/TS_DeviceCenter.ps1
# Copyright � 2008, Microsoft Corporation. All rights reserved.


. .\CL_Utility.ps1
Import-LocalizedData -BindingVariable localizationString -FileName CL_LocalizationData

Write-DiagProgress -activity $localizationString.Progress_Troubleshoot

try
{
    [string]$DeviceErrorInfo = Get-DiagInput -ID "IT_DeviceInfo"
}
catch
{
    return
}

if([String]::IsNullOrEmpty($DeviceErrorInfo) -eq $True)
{
    return
}

$DeviceDataArray = GetProblematicFunctionForObject $DeviceErrorInfo

if($DeviceDataArray -eq $Null)
{
    return
}

$PnPDeviceID = ""
$PrinterName = ""

foreach($DeviceData in $DeviceDataArray)
{
    $DeviceType = $DeviceData.Type

    if([String]::IsNullOrEmpty($DeviceType) -eq $True)
    {
        return
    }

    if($DeviceType -eq "PNPDevice")
    {
        $PnPDeviceID += $DeviceData.DeviceID
        $PnPDeviceID += "#"
    }

    if($DeviceType -eq "Printer")
    {
        $PrinterName = $DeviceData.DeviceName
    }
}


if([String]::IsNullOrEmpty($PnPDeviceID) -eq $False)
{
    $PnPDeviceID = $PnPDeviceID.Replace("&", "&")
    Update-DiagRootCause -id "RC_ProblematicPNPDevice" -Detected $true -p @{'DEVICEID' = $PnPDeviceID}
}


if([String]::IsNullOrEmpty($PrinterName) -eq $False)
{
    Update-DiagRootCause -id "RC_ProblematicPrinter" -Detected $true -p @{'PRINTERNAME' = $PrinterName}
}