Initial QSfera import
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
Param
|
||||
(
|
||||
[string]$ProductName="QSfera"
|
||||
)
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Cleans up leftover Windows VFS sync roots and CLSID entries.
|
||||
.DESCRIPTION
|
||||
Removes registry entries for specified product and test artifacts.
|
||||
WARNING: This script will restart Windows Explorer.
|
||||
.PARAMETER ProductName
|
||||
The product name to clean up. Defaults to "QSfera".
|
||||
.NOTES
|
||||
Requires Administrator privileges.
|
||||
#>
|
||||
|
||||
# OC-TEST is used by our unit tests
|
||||
# https://github.com/MicrosoftDocs/winrt-api/issues/1130
|
||||
$SyncRootManager = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager"
|
||||
$GetRootItem = Get-Item $SyncRootManager
|
||||
Get-ChildItem -Path $SyncRootManager | ForEach-Object {
|
||||
$name = $_.Name.Substring($GetRootItem.Name.Length + 1)
|
||||
if ($name.StartsWith("OC-TEST", [System.StringComparison]::CurrentCultureIgnoreCase) -or $name.StartsWith("$ProductName", [System.StringComparison]::CurrentCultureIgnoreCase)) {
|
||||
Write-Host "Removing sync root: ${name} `"${_}`""
|
||||
Remove-Item -Recurse $_.PsPath
|
||||
}
|
||||
}
|
||||
|
||||
Get-ChildItem -Path "HKCU:\Software\Classes\CLSID\" | ForEach-Object {
|
||||
$key = (get-itemproperty $_.PsPath)."(default)"
|
||||
if ($key) {
|
||||
if ($key.StartsWith("OC-TEST", [System.StringComparison]::CurrentCultureIgnoreCase) -or $key.StartsWith("$ProductName", [System.StringComparison]::CurrentCultureIgnoreCase)) {
|
||||
Write-Host "Removing: ${key} `"${_}`""
|
||||
Remove-Item -Recurse $_.PsPath
|
||||
}
|
||||
}
|
||||
}
|
||||
Get-Process explorer | Stop-Process
|
||||
Pause
|
||||
Reference in New Issue
Block a user