29 lines
1.3 KiB
PowerShell
29 lines
1.3 KiB
PowerShell
## List of all scripting component DLL files
|
|
$DLL_FILES = @("${Env:WINDIR}\system32\vbscript.dll",
|
|
"${Env:WINDIR}\system32\jscript.dll",
|
|
"${Env:WINDIR}\system32\dispex.dll",
|
|
"${Env:WINDIR}\system32\scrobj.dll",
|
|
"${Env:WINDIR}\system32\scrrun.dll",
|
|
"${Env:WINDIR}\system32\wshext.dll"
|
|
"${Env:WINDIR}\system32\wshom.ocx",
|
|
"${Env:WINDIR}\syswow64\vbscript.dll",
|
|
"${Env:WINDIR}\syswow64\jscript.dll",
|
|
"${Env:WINDIR}\syswow64\dispex.dll",
|
|
"${Env:WINDIR}\syswow64\scrobj.dll",
|
|
"${Env:WINDIR}\syswow64\scrrun.dll",
|
|
"${Env:WINDIR}\syswow64\wshext.dll",
|
|
"${Env:WINDIR}\syswow64\wshom.ocx")
|
|
|
|
## Unregister all DLLs
|
|
foreach ($dll in $DLL_FILES) {
|
|
if ( Test-Path $dll ) {
|
|
if ( $dll -Match "syswow64" ) { $REGSVR32 = "${Env:WINDIR}\syswow64\regsvr32" } else { $REGSVR32 = "regsvr32" }
|
|
Start-Process "${REGSVR32}" -ArgumentList "/u /s ${dll}" -Wait
|
|
}}
|
|
|
|
## Register all DLLs
|
|
foreach ($dll in $DLL_FILES) {
|
|
if ( Test-Path $dll ) {
|
|
if ( $dll -Match "syswow64" ) { $REGSVR32 = "${Env:WINDIR}\syswow64\regsvr32" } else { $REGSVR32 = "regsvr32" }
|
|
Start-Process "${REGSVR32}" -ArgumentList "/s ${dll}" -Wait
|
|
}} |