MikeWilliams_UK

Brute Force Removal [Admin]

Jun 7th, 2021 (edited)
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ##########################
  2. # GetBackToSquareOne.ps1 #
  3. ##########################
  4.  
  5. CLS
  6.  
  7. ########################
  8. # MUST BE RUN ELEVATED #
  9. ########################
  10.  
  11. $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
  12. if (-not $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
  13. {
  14.     Write-Host "╔══════════════════════════════════════════════╗" -ForegroundColor Yellow
  15.     Write-Host "║ This script should be run as Administrator ! ║" -ForegroundColor Yellow
  16.     Write-Host "╚══════════════════════════════════════════════╝" -ForegroundColor Yellow
  17.  
  18.     Break Script
  19. }
  20.  
  21. # -----------------------------------------------
  22.  
  23. $delete = $true
  24.  
  25. Write-Host "Clearing Chem4Word installation settings"
  26.  
  27. # Clear Word Add-In keys
  28. $baseKeys = @()
  29. $baseKeys += "HKLM:\SOFTWARE\Microsoft\Office\Word"
  30. $baseKeys += "HKLM:\SOFTWARE\WOW6432NodeMicrosoft\Office\Word"
  31.  
  32. $keyNames = @()
  33. $keyNames += "Chemistry Add-in for Word"
  34. $keyNames += "Chem4Word"
  35. $keyNames += "Chem4Word V3"
  36. $keyNames += "Chem4Word.V3"
  37.  
  38. foreach ($baseKey in $baseKeys)
  39. {
  40.     foreach ($keyName in $keyNames)
  41.     {
  42.         $targetKey = "$($baseKey)\AddIns\$($keyName)"
  43.         $k = Get-ItemProperty -Path $targetKey -ErrorAction SilentlyContinue
  44.         if ($k -ne $null)
  45.         {
  46.             Write-Host " Registry Key '$($targetKey)' found ..."
  47.             Write-Host "  FriendlyName: $($k.'FriendlyName')"
  48.             Write-Host "  LoadBehavior: $($k.'LoadBehavior')"
  49.             Write-Host "  Manifest: $($k.'Manifest')"
  50.  
  51.             if ($isIntalled -eq $false -and $delete -eq $true)
  52.             {
  53.                 Write-Host "  Deleting '$($targetKey)' ..." -ForegroundColor Cyan
  54.                 Remove-Item -Path $targetKey -Recurse
  55.             }
  56.         }
  57.         else
  58.         {
  59.             # Write-Host "Registry Key '$($targetKey)' not found."
  60.         }
  61.     }
  62. }
  63.  
  64. foreach ($baseKey in $baseKeys)
  65. {
  66.     foreach ($keyName in $keyNames)
  67.     {
  68.         $targetKey = "$($baseKey)\AddInsData\$($keyName)"
  69.         $k = Get-ItemProperty -Path $targetKey -ErrorAction SilentlyContinue
  70.         if ($k -ne $null)
  71.         {
  72.             Write-Host " Registry Key '$($targetKey)' found ..."
  73.             Write-Host "  LoadCount: $($k.'LoadCount')"
  74.  
  75.             if ($isIntalled -eq $false -and $delete -eq $true)
  76.             {
  77.                 Write-Host "  Deleting '$($targetKey)' ..." -ForegroundColor Cyan
  78.                 Remove-Item -Path $targetKey -Recurse
  79.             }
  80.         }
  81.         else
  82.         {
  83.             # Write-Host "Registry Key '$($targetKey)' not found."
  84.         }
  85.     }
  86. }
  87.  
  88. # -----------------------------------------------
  89.  
  90. Write-Host "Clearing Chem4Word user data"
  91.  
  92. $folders = @()
  93. $folders += "$($env:ProgramData)\Chem4Word.V3"
  94.  
  95. foreach ($folder in $folders)
  96. {
  97.     if ($isIntalled -eq $false -and $delete -eq $true)
  98.     {
  99.         if (Test-Path $folder)
  100.         {
  101.             Write-Host "Deleting folder tree '$($folder)'"
  102.             Get-ChildItem -Path $folder -Recurse | Remove-Item -force -recurse
  103.             Remove-Item $folder
  104.         }
  105.     }
  106. }
Add Comment
Please, Sign In to add comment