|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Windows/diagnostics/system/Audio/ |
Upload File : |
# Copyright � 2015, Microsoft Corporation. All rights reserved.
# :: ======================================================= ::
#====================================================================================
# Initialize
#====================================================================================
Import-LocalizedData -BindingVariable localizationString -FileName CL_LocalizationData
#====================================================================================
# Load Utilities
#====================================================================================
. .\CL_Utility.ps1
#====================================================================================
# Main
#====================================================================================
Write-DiagProgress -activity $localizationString.audioDeviceDriver_progress
try
{
$devices = Get-WmiObject Win32_SoundDevice
}
catch [System.Exception]
{
Write-ExceptionTelemetry "TS_AudioDeviceDriver_MAIN" $_
$_
}
if ($devices -eq $null)
{
Update-DiagRootCause -ID 'RC_AudioDevice' -Detected $true -Parameter @{'DEVICEID' = 'ScanOnly'}
return $false
}
[int]$errDeviceCount = 0
# $deviceCount contains total number of audio devices in system
[int]$deviceCount = ($devices.Name).Count
$found = $true
foreach ($device in $devices)
{
if ($device.ConfigManagerErrorCode -ne 0) {
$deviceID = $device.PNPDeviceID.Replace("&", "&");
$allDevices = $allDevices + "#" + $deviceID
$detected = $true
$errDeviceCount++
}
}
if($detected)
{
Update-DiagRootcause -ID 'RC_AudioDevice' -IID $deviceID -Detected $true -Parameter @{'DEVICEID' = $allDevices}
}
if($errDeviceCount -eq $deviceCount)
{
$found = $false
}
Write-DiagProgress -activity " "
return $found