First commit

This commit is contained in:
Ricardo Sardá
2025-12-11 17:20:53 -03:00
commit de93234ec1
5 changed files with 696 additions and 0 deletions

108
01-ENABLE.ps1 Normal file
View File

@@ -0,0 +1,108 @@
# Elevate privileges if needed
if (-not ([Security.Principal.WindowsPrincipal]::new([Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(
[Security.Principal.WindowsBuiltInRole]::Administrator))) {
Start-Process powershell -Verb runAs -ArgumentList $MyInvocation.MyCommand.Definition
exit
}
function Show-Banner {
Clear-Host
Write-Host @"
MAGICIS - SUPPORT A VETERAN
"@ -ForegroundColor Cyan
}
function Show-Menu {
Show-Banner
Write-Host "========== CONFIGURATION MENU ==========" -ForegroundColor Cyan
Write-Host "1. Rename PC using MAC Address AND RESTART"
Write-Host "2. Run magicis-install.ps1"
Write-Host "3. Exit"
Write-Host "========================================`n"
}
function Rename-PCToMac() {
Write-Output "`nRenaming PC using MAC address..."
$mac = (Get-NetAdapter -InterfaceAlias "*Ethernet*" | Select-Object -First 1 -ExpandProperty MacAddress) -replace '-', ''
if ($mac) {
Rename-Computer -NewName "$mac" -Force
Write-Output "Computer renamed to: $mac"
Write-Output "Restarting Computer to apply settings in 10 seconds"
Start-Sleep -Seconds 10
Restart-Computer -Force
} else {
Write-Output "Could not retrieve MAC address.`n"
}
}
# Log path
$Global:LogFile = "C:\temp\system_tweaks.log"
# Helper function to log messages to console and file
function Write-Log {
param(
[string]$Message,
[string]$Level = "INFO"
)
$timestamp = (Get-Date).ToString("yyyy-MM-dd HH:mm:ss")
$line = "[$timestamp] [$Level] $Message"
# Console
Write-Output $line
# File
try {
$dir = Split-Path $Global:LogFile -Parent
if (-not (Test-Path $dir)) {
New-Item -ItemType Directory -Path $dir -Force | Out-Null
}
Add-Content -Path $Global:LogFile -Value $line
} catch {
Write-Output "Error writing log to $Global:LogFile : $_"
}
}
function Run-MagicisInstall {
Write-Log "Starting magicis-install.ps1..."
try {
$scriptPath = Join-Path -Path $PSScriptRoot -ChildPath "magicis-install.ps1"
if (-not (Test-Path $scriptPath)) {
Write-Log "magicis-install.ps1 not found at $scriptPath. Please place it in the same folder or update the path." "ERROR"
return
}
# Run with bypass to avoid policy issues; current session is already elevated
powershell -NoProfile -ExecutionPolicy Bypass -File $scriptPath
Write-Log "magicis-install.ps1 finished."
} catch {
Write-Log "Error running magicis-install.ps1: $_" "ERROR"
}
}
# Main loop
do {
Show-Menu
$choice = Read-Host "Select an option (1-7)"
switch ($choice) {
"1" { Set-HighPerformancePowerPlan }
"2" { Rename-PCToMac }
"3" {
Set-HighPerformancePowerPlan
Rename-PCToMac
}
"4" { Install-CommonTools }
"5" { Apply-SystemTweaks }
"6" { Run-MagicisInstall }
"7" { Write-Host "`nExiting..." -ForegroundColor Yellow }
default { Write-Host "`nInvalid option. Please try again." -ForegroundColor Red }
}
if ($choice -notin @("7")) {
Pause
}
} while ($choice -ne "7")