Files
setup-script/setupWDAC.ps1
2024-01-29 10:43:34 +01:00

57 lines
2.1 KiB
PowerShell

function EnableWDAC {
$DownloadFile = "https://git.justw.tf/Lightemerald/setup-script/raw/branch/main/WDAC/{b4d6b24c-c3ad-44e5-9dea-72c1ed9577b8}.cip"
$LocalFile = Join-Path -Path $env:LOCALAPPDATA -ChildPath "Temp\{b4d6b24c-c3ad-44e5-9dea-72c1ed9577b8}.cip"
Write-Host "Downloading file from $DownloadFile to $LocalFile"
Invoke-WebRequest -Uri $DownloadFile -OutFile $LocalFile -UseBasicParsing
Write-Host "Copying file from $LocalFile to C:\Windows\System32\CodeIntegrity\CiPolicies\Active\"
Copy-Item -Path $LocalFile -Destination "C:\Windows\System32\CodeIntegrity\CiPolicies\Active\"
Write-Host "Deleting file from $LocalFile"
Remove-Item -Path $LocalFile
Write-Host "WDAC file copied!"
}
function DisableWDAC {
$LocalFile = Join-Path -Path "C:\Windows\System32\CodeIntegrity\CiPolicies\Active\" -ChildPath "{b4d6b24c-c3ad-44e5-9dea-72c1ed9577b8}.cip"
Write-Host "Deleting file from $LocalFile"
Remove-Item -Path $LocalFile
Write-Host "WDAC file deleted!"
}
function Show-WDACMenu {
$selection = $null
do {
Write-Host "What would you like to do?"
Write-Host "1. Enable WDAC"
Write-Host "2. Disable WDAC"
Write-Host "3. Skip"
$selection = Read-Host "Enter the number of your choice"
switch ($selection) {
"1" { EnableWDAC }
"2" { DisableWDAC }
"3" { Write-Host "Skipping WDAC..." }
default { Write-Host "Invalid selection. Please choose 1, 2, or 3." }
}
} while ($selection -ne "1" -and $selection -ne "2" -and $selection -ne "3")
}
function SetupWDAC {
param (
[bool] $enable
)
if ($enable) {
if (Test-Path -Path "C:\Windows\System32\CodeIntegrity\CiPolicies\Active\{b4d6b24c-c3ad-44e5-9dea-72c1ed9577b8}.cip") {
Write-Host "WDAC is already enabled!"
} else {
EnableWDAC
}
} else {
if (Test-Path -Path "C:\Windows\System32\CodeIntegrity\CiPolicies\Active\{b4d6b24c-c3ad-44e5-9dea-72c1ed9577b8}.cip") {
DisableWDAC
} else {
Write-Host "WDAC is already disabled!"
}
}
}