Frequently Asked Question
PST!
Last Updated 3 months ago
# Stop Office processes
Get-Process -Name winword,excel,powerpnt,outlook,onenote,teams -ErrorAction SilentlyContinue | Stop-Process -Force
# Stop Click-to-Run Service
Stop-Service -Name ClickToRunSvc -Force -ErrorAction SilentlyContinue
# Uninstall Office (C2R)
$office = Get-WmiObject -Class Win32_Product | Where-Object {
$_.Name -like "*Office*" -or $_.Name -like "*Microsoft 365*"
}
foreach ($app in $office) {
$app.Uninstall()
}
# Remove Office folders (SAFE – no PST touched)
$paths = @(
"C:\Program Files\Microsoft Office",
"C:\Program Files (x86)\Microsoft Office",
"C:\ProgramData\Microsoft\Office",
"C:\ProgramData\Microsoft\ClickToRun"
)
foreach ($path in $paths) {
if (Test-Path $path) {
Remove-Item -Recurse -Force -Path $path
}
}
# Remove Licensing Tokens
$licensePaths = @(
"C:\Program Files\Microsoft Office\root\Licenses16",
"C:\ProgramData\Microsoft\Office\Licenses"
)
foreach ($path in $licensePaths) {
if (Test-Path $path) {
Remove-Item -Recurse -Force -Path $path
}
}
# Clean Registry (Office + ClickToRun)
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Office" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Office" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun" -Recurse -Force -ErrorAction SilentlyContinue
# Optional: Clear user Office identity (NOT PST)
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\Office" -Recurse -Force -ErrorAction SilentlyContinue
Write-Output "Office cleanup complete. Restart required."
Get-Process -Name winword,excel,powerpnt,outlook,onenote,teams -ErrorAction SilentlyContinue | Stop-Process -Force
# Stop Click-to-Run Service
Stop-Service -Name ClickToRunSvc -Force -ErrorAction SilentlyContinue
# Uninstall Office (C2R)
$office = Get-WmiObject -Class Win32_Product | Where-Object {
$_.Name -like "*Office*" -or $_.Name -like "*Microsoft 365*"
}
foreach ($app in $office) {
$app.Uninstall()
}
# Remove Office folders (SAFE – no PST touched)
$paths = @(
"C:\Program Files\Microsoft Office",
"C:\Program Files (x86)\Microsoft Office",
"C:\ProgramData\Microsoft\Office",
"C:\ProgramData\Microsoft\ClickToRun"
)
foreach ($path in $paths) {
if (Test-Path $path) {
Remove-Item -Recurse -Force -Path $path
}
}
# Remove Licensing Tokens
$licensePaths = @(
"C:\Program Files\Microsoft Office\root\Licenses16",
"C:\ProgramData\Microsoft\Office\Licenses"
)
foreach ($path in $licensePaths) {
if (Test-Path $path) {
Remove-Item -Recurse -Force -Path $path
}
}
# Clean Registry (Office + ClickToRun)
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Office" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Office" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun" -Recurse -Force -ErrorAction SilentlyContinue
# Optional: Clear user Office identity (NOT PST)
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\Office" -Recurse -Force -ErrorAction SilentlyContinue
Write-Output "Office cleanup complete. Restart required."