From 080d0e5f1ce3319d1c10d344c13f47b0d9bc41a6 Mon Sep 17 00:00:00 2001 From: glax Date: Fri, 31 Mar 2023 15:25:46 +0200 Subject: [PATCH] created variables for easy switching of PCIe paths --- switchGPU.ps1 | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/switchGPU.ps1 b/switchGPU.ps1 index 5f9b683..e09a32c 100644 --- a/switchGPU.ps1 +++ b/switchGPU.ps1 @@ -1,6 +1,9 @@ param([String]$working=$pwd, [String]$desktop = [Environment]::GetFolderPath("Desktop")) -$folderPath = "C:\.gpu" -$gpuTask = Join-Path $working GPU.xml +$iGPUpci = "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041" +$dGPUpci = "PCI\VEN_10DE&DEV_1B80&SUBSYS_85AA1043&REV_A1\6&5c8cf2c&0&00080019" + +$folderPath = "C:\.gpu" #do not change unless you change it in GPU.xml as well +$gpuTask = Join-Path $working GPU.xml #just do not change if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`" -working $pwd -desktop $desktop" -Verb RunAs; exit } $scriptOld = Join-Path $working "*" @@ -32,13 +35,13 @@ if(Get-ScheduledTask | Where-Object{$_.TaskName -eq "GPU"}) Write-Output "Waiting 5 Seconds" Start-Sleep 5 -if(Get-PnpDevice | Where-Object{$_.InstanceId -eq "PCI\VEN_10DE&DEV_1B80&SUBSYS_85AA1043&REV_A1\6&5c8cf2c&0&00080019"} | Where-Object{$_.Status -eq "OK"}) +if(Get-PnpDevice | Where-Object{$_.InstanceId -eq $dGPUpci} | Where-Object{$_.Status -eq "OK"}) { Write-Output "dGPU plugged in" - if(Get-PnpDevice | Where-Object{$_.InstanceId -eq "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041"} | Where-Object{$_.Status -eq "OK"}) + if(Get-PnpDevice | Where-Object{$_.InstanceId -eq $iGPUpci} | Where-Object{$_.Status -eq "OK"}) { Write-Output "Disabling iGPU" - pnputil /disable-device "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041" #disable iGPU + pnputil /disable-device $iGPUpci #disable iGPU }else { Write-Output "iGPU already disabled" @@ -46,12 +49,12 @@ if(Get-PnpDevice | Where-Object{$_.InstanceId -eq "PCI\VEN_10DE&DEV_1B80&SUBSYS_ }else { Write-Output "dGPU not plugged in" - if(Get-PnpDevice | Where-Object{$_.InstanceId -eq "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041"} | Where-Object{$_.Status -eq "OK"}) + if(Get-PnpDevice | Where-Object{$_.InstanceId -eq $iGPUpci} | Where-Object{$_.Status -eq "OK"}) { Write-Output "iGPU already enabled" }else { Write-Output "Enabling iGPU" - pnputil /enable-device "PCI\VEN_1002&DEV_1681&SUBSYS_380117AA&REV_C1\4&33381BD1&0&0041" #enable iGPU + pnputil /enable-device $iGPUpci #enable iGPU } }