Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##########################
- # GetBackToSquareOne.ps1 #
- ##########################
- CLS
- ########################
- # MUST BE RUN ELEVATED #
- ########################
- $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
- if (-not $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
- {
- Write-Host "╔══════════════════════════════════════════════╗" -ForegroundColor Yellow
- Write-Host "║ This script should be run as Administrator ! ║" -ForegroundColor Yellow
- Write-Host "╚══════════════════════════════════════════════╝" -ForegroundColor Yellow
- Break Script
- }
- # -----------------------------------------------
- $delete = $true
- Write-Host "Clearing Chem4Word installation settings"
- # Clear Word Add-In keys
- $baseKeys = @()
- $baseKeys += "HKLM:\SOFTWARE\Microsoft\Office\Word"
- $baseKeys += "HKLM:\SOFTWARE\WOW6432NodeMicrosoft\Office\Word"
- $keyNames = @()
- $keyNames += "Chemistry Add-in for Word"
- $keyNames += "Chem4Word"
- $keyNames += "Chem4Word V3"
- $keyNames += "Chem4Word.V3"
- foreach ($baseKey in $baseKeys)
- {
- foreach ($keyName in $keyNames)
- {
- $targetKey = "$($baseKey)\AddIns\$($keyName)"
- $k = Get-ItemProperty -Path $targetKey -ErrorAction SilentlyContinue
- if ($k -ne $null)
- {
- Write-Host " Registry Key '$($targetKey)' found ..."
- Write-Host " FriendlyName: $($k.'FriendlyName')"
- Write-Host " LoadBehavior: $($k.'LoadBehavior')"
- Write-Host " Manifest: $($k.'Manifest')"
- if ($isIntalled -eq $false -and $delete -eq $true)
- {
- Write-Host " Deleting '$($targetKey)' ..." -ForegroundColor Cyan
- Remove-Item -Path $targetKey -Recurse
- }
- }
- else
- {
- # Write-Host "Registry Key '$($targetKey)' not found."
- }
- }
- }
- foreach ($baseKey in $baseKeys)
- {
- foreach ($keyName in $keyNames)
- {
- $targetKey = "$($baseKey)\AddInsData\$($keyName)"
- $k = Get-ItemProperty -Path $targetKey -ErrorAction SilentlyContinue
- if ($k -ne $null)
- {
- Write-Host " Registry Key '$($targetKey)' found ..."
- Write-Host " LoadCount: $($k.'LoadCount')"
- if ($isIntalled -eq $false -and $delete -eq $true)
- {
- Write-Host " Deleting '$($targetKey)' ..." -ForegroundColor Cyan
- Remove-Item -Path $targetKey -Recurse
- }
- }
- else
- {
- # Write-Host "Registry Key '$($targetKey)' not found."
- }
- }
- }
- # -----------------------------------------------
- Write-Host "Clearing Chem4Word user data"
- $folders = @()
- $folders += "$($env:ProgramData)\Chem4Word.V3"
- foreach ($folder in $folders)
- {
- if ($isIntalled -eq $false -and $delete -eq $true)
- {
- if (Test-Path $folder)
- {
- Write-Host "Deleting folder tree '$($folder)'"
- Get-ChildItem -Path $folder -Recurse | Remove-Item -force -recurse
- Remove-Item $folder
- }
- }
- }
Add Comment
Please, Sign In to add comment