Compare commits

...
2 Commits
Author SHA1 Message Date
dyoder 855f186aba check that reg property exists 2022-11-23 15:52:49 -05:00
dyoder 10bd04c73d added function Test-RegistryProperty 2022-11-23 15:52:30 -05:00
2 changed files with 25 additions and 6 deletions
+12 -5
View File
@@ -2,15 +2,22 @@ $key = "HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers"
$name = "HwSchMode" $name = "HwSchMode"
# Check to see if GPU scheduling is enabled # Check to see if GPU scheduling is enabled
$setting = (Get-ItemPropertyValue -Path $key -Name $name -ErrorAction SilentlyContinue)
If ( $setting -eq 2 ) { If ( Test-RegistryProperty -Path $key -Name $name ) {
LogMsg "Hardware assisted GPU scheduling is already enabled" $setting = (Get-ItemPropertyValue -Path $key -Name $name -ErrorAction SilentlyContinue)
$HardwareGPUSchedulingEnabled = $true If ( $setting -eq 2 ) {
LogMsg "Hardware assisted GPU scheduling is already enabled"
$HardwareGPUSchedulingEnabled = $true
} Else {
LogMsg "Hardware assisted GPU scheduling is disabled"
$HardwareGPUSchedulingEnabled = $false
}
} Else { } Else {
LogMsg "Hardware assisted GPU scheduling is not currently enabled" LogMsg "Hardware assisted GPU scheduling is disabled"
$HardwareGPUSchedulingEnabled = $false $HardwareGPUSchedulingEnabled = $false
} }
# Find a GPU in the system so we can enable GPU scheduling # Find a GPU in the system so we can enable GPU scheduling
If ( $HardwareGPUSchedulingEnabled -eq $false ) { If ( $HardwareGPUSchedulingEnabled -eq $false ) {
LogMsg " - Attempting to find a discrete Nvidia or AMD GPU" LogMsg " - Attempting to find a discrete Nvidia or AMD GPU"
+13 -1
View File
@@ -1,8 +1,14 @@
$ScheduleCheckDisk = $false
# Run the System File Checker to scan for and repair any problems with protected system files # Run the System File Checker to scan for and repair any problems with protected system files
LogMsg "Running System File Checker" LogMsg "Running System File Checker"
$SFCOutput = $(sfc /scannow) | Out-String $SFCOutput = $(sfc /scannow) | Out-String
LogMsg $SFCOutput LogMsg $SFCOutput
$SFCOutputWithSpaces = " W i n d o w s R e s o u r c e P r o t e c t i o n d i d n o t f i n d a n y i n t e g r i t y v i o l a t i o n s ."
$SFCOutputWithoutSpaces = "Windows Resource Protection did not find any integrity violations."
If ( !($SFCOutput -match $SFCOutputWithSpaces) -or !($SFCOutput -match $SFCOutputWithoutSpaces) ) { $ScheduleCheckDisk = $true }
# Run enhanced DISM for Windows 8 and higher endpoints # Run enhanced DISM for Windows 8 and higher endpoints
If ( IsWindowsVersion -ge "6.2" ) If ( IsWindowsVersion -ge "6.2" )
{ {
@@ -26,4 +32,10 @@ If ( IsWindowsVersion -ge "6.2" )
} }
LogMsg "Completed Windows Component Store log data collection" LogMsg "Completed Windows Component Store log data collection"
} }
Else { LogMsg "Online image cleanup and restoration is only supported on Windows 8 and higher" } Else { LogMsg "Online image cleanup and restoration is only supported on Windows 8 and higher" }
# Schedule Check Disk if needed
If ( $ScheduleCheckDisk ) {
LogMsg "Check Disk scheduled to repair disk at next boot"
& echo y | chkdsk /F /R /X
}