Code:
$NetBags = 'HKCU:\Software\Microsoft\Windows\Shell\Bags'
$LocalBags = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags'
$FolderTYpes = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes'
$NetBags, $LocalBags | ForEach{
( Get-ChildItem $_ -Recurse | Where PSChildName -match 'ComDlg' ) | Remove-Item -Recurse
}
$Exclude = @'
ControlPanel
FileItemAPIs
Internet
OpenSearch
OtherUsers
RestrictedNonIndexed
SearchConnector
Searches
SearchHome
Sync
'@ -split '\n' -join '|'
$FolderTypeIDs = Get-ChildItem $FolderTYpes | Get-ItemProperty |
Where CanonicalName -notMatch $Exclude | select -expand PSChildName
$RegHeader = @'
Windows Registry Editor Version 5.00
'@ ### RegHeader
$Template = @'
[HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\ComDlg\FolderTypeID]
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"FFlags"=dword:00000001
"IconSize"=dword:00000010
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\
1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00,30,f1,25,b7,ef,47,1a,10,\
a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,a5,00,00,00,30,f1,25,b7,ef,47,1a,10,a5,\
f1,02,60,8c,9e,eb,ac,04,00,00,00,fc,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
'@ ### Template
$RegBody = ''
ForEach ( $FolderTypeID in $FolderTypeIDs ) {
$RegBody += $Template -replace ( 'FolderTypeID' , $FolderTypeID )
}
$RegBody += $RegBody -replace ( 'ComDlg' , 'ComDlgLegacy' )
$RegHeader + $RegBody | Set-Content $env:Temp\CommonDialogs.reg
Reg Import $env:Temp\CommonDialogs.reg
Get-Process explorer | Stop-Process