diff --git a/wingetUninstaller.ps1 b/wingetUninstaller.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..3ed943c931c15bdd15d024c244796991d5a5f23e
--- /dev/null
+++ b/wingetUninstaller.ps1
@@ -0,0 +1,99 @@
+# Ensure you are running this script with administrator privileges.
+ 
+# List of applications to uninstall
+$applications = @(
+    # Applications available via PatchMyPC
+    "dotPDN.PaintDotNet",
+    "notepad++.notepad++",
+    "PuTTY.PuTTY",
+    "Posit.RStudio",
+    "Microsoft.VisualStudioCode",
+    "VideoLAN.VLC",
+    "Mozilla.Firefox",
+    "WiresharkFoundation.Wireshark",
+    "WinSCP.WinSCP",
+    "7zip.7zip",
+    "HandBrake.HandBrake",
+    "OBSProject.OBSStudio",
+ 
+    # Applications to uninstall manually or with winget
+    "Zoom.Zoom",
+    "JetBrains.IntelliJIDEA.Community",
+    "AivarAnnamaa.Thonny",
+    "Insecure.Nmap",
+    "JetBrains.PyCharm.Community"
+)
+
+# Function to check if an application is installed
+function Test-ApplicationInstalled {
+    param (
+        [string]$AppId
+    )
+    
+    $listResult = winget list --id $AppId --accept-source-agreements 2>&1
+    return $listResult -like "*$AppId*"
+}
+
+# Function to prompt for confirmation
+function Get-UserConfirmation {
+    param (
+        [string]$Message
+    )
+    
+    $response = Read-Host -Prompt "$Message (y/n)"
+    return $response.ToLower() -eq 'y'
+}
+
+# Add a safety prompt at the beginning
+Write-Host "This script will attempt to uninstall the following applications:" -ForegroundColor Yellow
+$applications | ForEach-Object { Write-Host "  - $_" -ForegroundColor Cyan }
+Write-Host ""
+
+if (-not (Get-UserConfirmation "Do you want to proceed with the uninstallation?")) {
+    Write-Host "Uninstallation cancelled by user." -ForegroundColor Yellow
+    exit
+}
+
+# Counter for tracking progress
+$totalApps = $applications.Count
+$currentApp = 0
+
+# Iterate through the applications and uninstall each
+foreach ($app in $applications) {
+    $currentApp++
+    Write-Host "`nProcessing ($currentApp/$totalApps): $app" -ForegroundColor Yellow
+    
+    try {
+        # Check if the application is installed
+        if (Test-ApplicationInstalled -AppId $app) {
+            # Prompt for confirmation for each application
+            if (Get-UserConfirmation "Do you want to uninstall $app?") {
+                Write-Host "Uninstalling $app..." -ForegroundColor Green
+                winget uninstall --id $app --silent --accept-source-agreements
+                
+                # Verify the uninstallation
+                if (-not (Test-ApplicationInstalled -AppId $app)) {
+                    Write-Host "$app uninstalled successfully!" -ForegroundColor Green
+                } else {
+                    Write-Host "Warning: $app might not have been fully uninstalled. Please check manually." -ForegroundColor Yellow
+                }
+            } else {
+                Write-Host "Skipping $app..." -ForegroundColor Cyan
+            }
+        } else {
+            Write-Host "$app is not installed." -ForegroundColor Cyan
+        }
+    } catch {
+        Write-Host "Failed to uninstall $app. Error: $_" -ForegroundColor Red
+    }
+}
+
+Write-Host "`nUninstallation process completed!" -ForegroundColor Green
+Write-Host "Please check the output above for any warnings or errors." -ForegroundColor Yellow
+
+# Optional: Generate a summary
+$remainingApps = $applications | Where-Object { Test-ApplicationInstalled -AppId $_ }
+if ($remainingApps) {
+    Write-Host "`nThe following applications may still be installed:" -ForegroundColor Yellow
+    $remainingApps | ForEach-Object { Write-Host "  - $_" -ForegroundColor Cyan }
+}
\ No newline at end of file