From 7627d07ddf4060ae34022efa89a85202db3f37c4 Mon Sep 17 00:00:00 2001 From: zoicware <118035521+zoicware@users.noreply.github.com> Date: Tue, 23 Dec 2025 14:50:04 -0500 Subject: [PATCH] last possible execution policy location #97 --- RemoveWindowsAi.ps1 | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/RemoveWindowsAi.ps1 b/RemoveWindowsAi.ps1 index ed65fa4..444b36f 100644 --- a/RemoveWindowsAi.ps1 +++ b/RemoveWindowsAi.ps1 @@ -1154,6 +1154,7 @@ foreach ($choice in $aipackages) { $Global:executionPolicyUser = $false $Global:executionPolicyMachine = $false $Global:executionPolicyWow64 = $false + $Global:executionPolicyUserPol = $false } catch { try { @@ -1162,6 +1163,7 @@ foreach ($choice in $aipackages) { $Global:executionPolicyUser = $true $Global:executionPolicyMachine = $false $Global:executionPolicyWow64 = $false + $Global:executionPolicyUserPol = $false } catch { try { @@ -1170,14 +1172,28 @@ foreach ($choice in $aipackages) { $Global:executionPolicyUser = $false $Global:executionPolicyMachine = $true $Global:executionPolicyWow64 = $false - + $Global:executionPolicyUserPol = $false } catch { - $Global:ogExecutionPolicy = Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' -Name 'ExecutionPolicy' - Reg.exe add 'HKLM\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d 'Unrestricted' /f >$null - $Global:executionPolicyUser = $false - $Global:executionPolicyMachine = $false - $Global:executionPolicyWow64 = $true + try { + $Global:ogExecutionPolicy = Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' -Name 'ExecutionPolicy' -ErrorAction Stop + Reg.exe add 'HKLM\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d 'Unrestricted' /f >$null + $Global:executionPolicyUser = $false + $Global:executionPolicyMachine = $false + $Global:executionPolicyWow64 = $true + $Global:executionPolicyUserPol = $false + + } + catch { + $Global:ogExecutionPolicy = Get-ItemPropertyValue -Path 'HKCU:\SOFTWARE\Policies\Microsoft\Windows\PowerShell' -Name 'ExecutionPolicy' + Reg.exe add 'HKCU\SOFTWARE\Policies\Microsoft\Windows\PowerShell' /v 'EnableScripts' /t REG_DWORD /d '1' /f >$null + Reg.exe add 'HKCU\SOFTWARE\Policies\Microsoft\Windows\PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d 'Unrestricted' /f >$null + $Global:executionPolicyUser = $false + $Global:executionPolicyMachine = $false + $Global:executionPolicyWow64 = $false + $Global:executionPolicyUserPol = $true + } + } @@ -2592,6 +2608,9 @@ else { elseif ($Global:executionPolicyWow64) { Reg.exe add 'HKLM\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d $ogExecutionPolicy /f >$null } + elseif ($Global:executionPolicyUserPol) { + Reg.exe add 'HKCU\SOFTWARE\Policies\Microsoft\Windows\PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d $ogExecutionPolicy /f >$null + } else { Reg.exe add 'HKLM\SOFTWARE\Policies\Microsoft\Windows\PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d $ogExecutionPolicy /f >$null } @@ -2647,6 +2666,9 @@ if ($ogExecutionPolicy) { elseif ($Global:executionPolicyWow64) { Reg.exe add 'HKLM\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d $ogExecutionPolicy /f >$null } + elseif ($Global:executionPolicyUserPol) { + Reg.exe add 'HKCU\SOFTWARE\Policies\Microsoft\Windows\PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d $ogExecutionPolicy /f >$null + } else { Reg.exe add 'HKLM\SOFTWARE\Policies\Microsoft\Windows\PowerShell' /v 'ExecutionPolicy' /t REG_SZ /d $ogExecutionPolicy /f >$null }