Quantcast
Channel: Software Updates Latest Topics
Viewing all articles
Browse latest Browse all 78020

WUMT Wrapper Script 2.3.5

$
0
0

S7XyXjQ.pngBmrCzx1.png

 

WUMT Wrapper Script is used to launch Windows Update MiniTool and disable Windows Updates until you run it again avoiding unwanted reboots.

The script auto-elevates and makes sure the Windows Update service is running, then runs the correct version (x86 or x64) of Windows Update MiniTool in "auto-search for updates" mode. After you close Windows Update MiniTool, it stops and disables the Windows Update service, and it won't run again until you run WUMT Wrapper Script next time.

With the Windows 10 Anniversary Edition, Microsoft has once again removed Group Policies and registry tweaks on Windows 10 Pro and Windows 10 Home to protect Windows Updates from being disabled, among other things. As you're well aware, Windows Updates are important so this script, and the Windows Update MiniTool should be used by advanced users.

This is distributed as text that you place in Notepad and save as a .cmd. Then you need Windows Updates in the same folder. We have done all of this for you, so all you need to do is download WUMT Wrapper Script.zip, extract to a folder and run Windows Update MiniTool.cmd as needed.

 

Author's Desc + Script + Install Notes v2.3.5:

 

Welcome to manual updates!
The purpose of this script is to automate and
enable your control of the update process.
- My philosophy of updating is:
- Only use the Windows Update Service to update.
- Automatically disable a range of annoying junk
- that bypasses windows update, such as:
- Windows 10 Update Assistant,
- remsh, UsoClient, WaaSMedic(Svc), and SIHClient.*
- Enable and start only the Windows Update Service.
- Run the Windows Update MiniTool (WUMT).
- Stop and disable the Windows Update service.
- All changes must be reversible.*
Closing WUMT at any time disables updates again;
however, if WUMT is already offering updates, you
need to hide them and/or install them one-by-one
before closing WUMT or it may install them without
asking next time. Don't change WUMT settings while
running this script. If an update requires a reboot,
re-run the script and just close the first screen
to make sure the useless crap that forces updates
stay off.
*The included uninstaller undoes script changes and
everything's like it was before you ever used the script.

 

Update Windows 10 on your schedule, not Microsoft's!
I originally wrote this script for personal use because of the lack of update options with the original RTM release of Windows 10 Pro. I wanted to update Windows 10 when I had the free time to manually update, just like I did with previous versions of Windows that allowed me to set updates to manual, not when Microsoft forced it on me while I was busy using my computer. When my computer rebooted in the middle of the night after a forced update I swore it would be the last time I would let that happen. With the Windows 10 Anniversary Edition, increased lack of control and arbitrary removal of registry options only got worse. Microsoft removed previously working Group Policies and registry tweaks on Windows 10 Pro and Windows 10 Home and I expect things may only get worse with future major updates. The methods that may or may not work now such as update notifications, metered network connections (which may soon push "essential" updates over metered connections, whatever that means), Windows 10 Pro Group Policy edits, and other workarounds implemented to control automatic updates are not guaranteed to work forever on Windows 10 if the past is any indicator. This script will always allow fully manual updates no matter what Microsoft does to force automatic updates, including Windows 10 Home.

*How it works: This script creates a smart Windows Defender Update task "WUD" that updates Windows Defender if it's running and enabled, and doesn't update it if it's not running and disabled, auto-elevates, uninstalls and removes the Windows 10 Update Assistant, renames the %programfiles%\rempl folder disabling remsh.exe, resets and removes permissions from and disables UsoClient.exe, WaaSMedic.exe, WaasMedicSvc.dll, WaaSMedicPS.dll, WaaSAssessment.dll, MusNotificationUx.exe, and SIHClient.exe, makes sure the task "wub_task" is installed that runs wub at boot (to stop updates from turning updates back on), *runs wub and enables and starts the windows update service (wuauserv) if disabled (*wub can be disabled using the included Configurator.cmd script, leaving Windows Updates always running so you can use Store at any time), then runs the correct version of the Windows Update MiniTool in "auto search for updates" mode for your OS version's architecture (x86 or x64), then disables and stops wuauserv giving you full control. No more forced automatic updates or surprise reboots. This was written for Windows 10 Pro and Home, but works with all versions of Windows 10. Don't change any settings in lower left of WUMT while running the script.

*If you need to install .Net 3.5 or use the Windows 10 Store or something that needs wuauserv running, run the script and after it enables wuauserv and starts WUMT, install what you need after WUMT checks for updates but BEFORE closing WUMT (unless you ran the Configurator to leave Windows Updates (wuauserv) on and running, then you can do those things at any time.)

 

Dealing with script caused sfc errors

The wrapper script causes sfc errors, so if you want to run sfc, uninstall the script first or read the logs for errors with UsoClient.exe, WaaSMedic.exe, WaasMedicSvc.dll, WaaSMedicPS.dll, WaaSAssessment.dll, MusNotificationUx.exe, and SIHClient.exe which is normal.

To check that these files are the cause of the sfc errors which, again, is normal,
run this in a command prompt and you should only see the above mentioned files listed as a problem. (Uninstall the script if you don't want sfc errors):
Code:


findstr /c:"[SR] Cannot" %windir%\logs\cbs\cbs.log|more

If you're getting an error updating and you want to make sure the script isn't the problem

have installed 17134 as a fresh install , the script runs and it starts searching but ends with an error code..

[2:03:45 PM]: Translated by Mr.X
[2:03:45 PM]: Windows Update Agent version: 8.0 (10.0.17134.1)
[2:03:45 PM]: Searching for updates
[2:11:01 PM]: An error has occurred: 0x80072EE2

 

Try this :
run uninstaller.cmd
run wumt_64.exe (or wumt_x86.exe)
and tell what happens.
The 0x80072EE2 error code is a Windows Update error code (and not a script error code)

 

you are right , i think the network admin on this site has blocked it.
it is network issue.

 

If you can't install an update with the script:

This is what to do if an update won't install using the script. Here is an example from today. WUMT wouldn't install Cumulative Update KB4093112. After installing and hiding/unhiding what you want to install with wumt, you're ready. Make sure that only the updates shown here are what you want to download and install. Leave wumt running:
IBfnYBr.png

You can then use the Settings app to install our sample KB4093112, like so:

AeDKZHX.png

If you closed wumt, 1) use the configurator to turn on updates and update from the settings app (turn updates off again afterwards if you want it off), or 2) check updates with the script again and after WUMT checks for updates but before closing it, update from the settings app.

 

Installation:
*If you downloaded this from Major Geeks:

Installer: Delete any previous script folder and shortcuts. Run the installer. Menu shortcuts
will be added to run manual Windows Updates. Use the Configurator to enable using Store
any time. Only uninstall from the shortcut in the start menu or using Uninstaller.cmd in the
WUMT Wrapper Script folder.
Manually:
Extract the contents of the "portable" folder to "X:\WUMTWrapperScript" or a folder of your
choosing, then make a shortcut to the file "WUMTWrapperScript.cmd", Configurator.cmd, and
Uninstaller.cmd.
Rename the "WUMTWrapperScript.cmd" shortcut to "Windows Update". Now use this shortcut
to run manual Windows Updates. Use the Configurator to enable using Store any time.

*If you're copying the scripts from this page:
Paste the following four scripts into notepad with the given names in the script folder.
Place WUMT and Windows Update Blocker v1.0 in same folder as script.
WUMT is available here: https://forums.mydigitallife.net/threads/64939-Windows-Update-MiniTool
Windows Update Blocker v1.0 is available here: https://www.dropbox.com/s/a67qj0qzbmx59bm/wub.exe?dl=1
Only use Windows Update Blocker v1.0 with this script, not v1.1.
Then go to the folder you extracted to and make a shortcut to the file "WUMTWrapperScript.cmd",
Configurator.cmd, and Uninstaller.cmd. Rename the "WUMTWrapperScript.cmd"
shortcut to "Windows Update". Now use this shortcut to run manual Windows Updates.
Use the Configurator to enable using Store any time.
*******************************************************************************************************
*The default configuration of the script turns off windows updates after running WUMT. The Configurator
is for people who want the option to leave the Windows Update service running, while remsh, UsoClient,
WaaSMedic(Svc), and SIHClient are still disabled, so they can use the Store at any time. You can run the
Configurator again and change it back to the default script action of disabling the Windows Update service
after WUMT is run. Either option you choose, it'll stay that way until you run it again and change it.

 

WUMTWrapperScript.cmd:


@echo off
Title WUMT Wrapper Script 2.3.5
Color 1F & goto start
Original script by pf100 @ MDL with special thanks to rpo and abbodi1406 @ MDL for code improvements.
Project page and source code:
https://forums.mydigitallife.net/threads/72203-WUMT-Wrapper-script-controls-windows-update-service
******************************************************************
You may freely modify this script as you wish, I only request that you leave the credits and the
link to the original script.
******************************************************************
This script provides manual updating for Windows 10 including Home versions.
Update Windows 10 on your schedule, not Microsoft's.
I originally wrote this script for personal use because of the lack of update options with the
original RTM release of Windows 10 Pro. I wanted to update Windows 10 when I had the free time
to manually update, just like I did with previous versions of Windows that allowed me to
set updates to manual, not when Microsoft forced it on me while I was busy using my computer.
*******************************************************************
WUMT is available here: https://forums.mydigitallife.net/threads/64939-Windows-Update-MiniTool
Windows Update Blocker is available here: https://www.dropbox.com/s/a67qj0qzbmx59bm/wub.exe?dl=1
Only use Windows Update Blocker v1.0 with this script, not v1.1.
*******************************************************************
How it works: This script creates a smart Windows Defender Update task "WUD" that updates Windows
Defender if it's running and enabled, and doesn't update it if it's not running and disabled,
auto-elevates, uninstalls and removes the Windows 10 Update Assistant, renames the %programfiles%\rempl
folder disabling remsh.exe, resets and removes permissions from and disables UsoClient.exe, WaaSMedic.exe,
WaasMedicSvc.dll, WaaSMedicPS.dll, WaaSAssessment.dll, MusNotificationUx.exe, and SIHClient.exe, makes
sure the task "wub_task" is installed that runs wub at boot (to stop updates from turning updates back on),
runs wub.exe and enables and starts the windows update service (wuauserv) if disabled
(*wub can be disabled using the included Configurator.cmd script, leaving Windows Updates always running
so you can use Store and Defender at any time), then runs the correct version of the Windows Update MiniTool
in "auto search for updates" mode for your OS version's architecture (x86 or x64), then disables and stops
wuauserv giving you full control. No more forced automatic updates or surprise reboots. This was written
for Windows 10 Pro and Home, but works with all versions of Windows 10. Don't change any settings in lower
left of WUMT while running the script.
*******************************************************************
I also included an uninstaller.cmd that deletes the WUD and wub_task tasks, deletes the WDU.cmd file used by WUD,
restores the rempl folder, resets UsoClient.exe, WaaSMedic.exe, WaasMedicSvc.dll, WaaSMedicPS.dll, MusNotificationUx.exe,
WaaSAssessment.dll, and SIHClient.exe permissions to how they were originally, and turns off wub (if enabled) which
turns the windows update service on automatic again, undoing everything done by the script. Running the wrapper
script again undoes what the uninstaller does, and the uninstaller undoes what the wrapper script does.
*******************************************************************
Configurator.cmd leaves remsh.exe, UsoClient.exe, WaaSMedic.exe, WaasMedicSvc.dll, WaaSMedicPS.dll,
MusNotificationUx.exe, WaaSAssessment.dll and SIHClient.exe disabled, but gives you the option of keeping the windows
update service running all the time for people who want that option (use Store anytime) You can also
run it again to reverse changes so that windows updates are set to fully manual but you can't use the
store anytime (you can after update check before closing WUMT, or using Configurator.cmd to temporarily
enable the windows update service again).
*******************************************************************
*If you need to install .Net 3.5 or use the Windows 10 Store or something that needs wuauserv
running, run the script and after it enables wuauserv and starts WUMT, install what you need
after WUMT checks for updates, before closing WUMT. If you ran the Configurator to "leave
the Windows Update Service running at all times" you can ignore this note as the store will
work at any time.
*******************************************************************
:start
:::::::::::::::::::::::::::::::::::::::::
:: Automatically check & get admin rights
:::::::::::::::::::::::::::::::::::::::::
:: ECHO.
:: ECHO =============================
:: ECHO Running Admin shell
:: ECHO =============================
:: Check Privileges
:: Get Privileges
:: and
:: Invoke UAC for Privilege Escalation
:: Notify if error escalating
:: and prevent looping if escalation fails
::::::::::::::::::::::::::::
set "params=Problem_with_elevating_UAC_for_Administrator_Privileges"&if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
fsutil dirty query %systemdrive%  >nul 2>&1 && goto :GotPrivileges
::    The following test is to avoid infinite looping if elevating UAC for Administrator Privileges failed
If "%1"=="%params%" (echo Elevating UAC for Administrator Privileges failed&echo Right click on the script and select 'Run as administrator'&echo Press any key to exit...&pause>nul 2>&1&exit)
cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "%~0", "%params%", "", "runas", 1 > "%temp%\getadmin.vbs"&cscript //nologo "%temp%\getadmin.vbs"&exit
:GotPrivileges
::::::::::::::::::::::::::::
::START
::Uninstall and remove Windows 10 Update assistant.
::Disable Windows Update Service until script menu screen.
::Reset (in case of wrong Permissions), remove Permissions from and Disable UsoClient.exe,
::WaaSMedic.exe, WaasMedicSvc.dll, WaaSMedicPS.dll, WaaSAssessment.dll, MusNotificationUx.exe, and SIHClient.exe.
::Kill remsh.exe if it's running.
::Rename the folder %ProgramFiles%\rempl to %ProgramFiles%\rempl-backup if it exists.
::Install wub_task (prevents Windows Update service from starting after installing updates and rebooting).
::Enable and start the Windows Update Service (wuauserv).
::Run the correct version of WUMT for your architecture.
::Start WUMT in "auto-check for updates" mode.
::After updates are completed and WUMT is closed and/or the "reboot"
::button in WUMT is pressed, silently run wub.exe and disable and stop wuauserv
::::::::::::::::::::::::::::
@echo off
cls
if exist "%systemdrive%\Windows10Upgrade\Windows10UpgraderApp.exe" ( echo Windows 10 Update Assistant detected. Preparing to uninstall.
echo The "Windows 10 Update Assistant has stopped working" dialog box may pop up. If so, just close it.
echo Press a key to acknowledge this and please wait for the uninstall to finish.
echo Script will continue after uninstall and removal is completed...
pause > nul
echo Uninstalling Windows 10 Update Assistant...
%systemdrive%\Windows10Upgrade\Windows10UpgraderApp.exe /forceuninstall
timeout /t 10 /nobreak >nul 2>&1
del %systemroot%\UpdateAssistant\*.* /f /q >nul 2>&1
rmdir %systemroot%\UpdateAssistant /s /q >nul 2>&1
del %SystemDrive%\Windows10Upgrade\*.* /f /q >nul 2>&1
rmdir %SystemDrive%\Windows10Upgrade /s /q >nul 2>&1
cls
echo Windows 10 Update Assistant removed.
echo Press a key to continue...
pause > nul )
cls
::::::::::::::::::::::::::::
echo.
echo Please wait...
::::::::::::::::::::::::::::
del %systemroot%\UpdateAssistantV2\*.* /f /q >nul 2>&1
rmdir %systemroot%\UpdateAssistantV2 /s /q >nul 2>&1
::::::::::::::::::::::::::::
::Check if update service is running or not and then delete correct file
sc query | find /i "wuauserv" > nul & if errorlevel 1 (goto nowuauserv)
if exist "%~dp0wub.exe-backup" (del "%~dp0wub.exe" /f /q >nul 2>&1)
goto wuauservchecked
:nowuauserv
if exist "%~dp0wub.exe" (del "%~dp0wub.exe-backup" /f /q >nul 2>&1)
:wuauservchecked
::::::::::::::::::::::::::::
::If somehow both files "wub.exe" and "wub.exe-backup" exist after the previous check, delete "wub.exe-backup"
if exist "%~dp0wub.exe" if exist "%~dp0wub.exe-backup" (del "%~dp0wub.exe-backup" /f /q >nul 2>&1)
::::::::::::::::::::::::::::
"%~dp0wub.exe" /d /p >nul 2>&1
::::::::::::::::::::::::::::
::Set this file to default permissions to correct an error in version 2.3.1 that affected maybe 3 people. Section for this file to be removed eventually.
takeown /f "%systemroot%\System32\usocore.dll" /a >nul 2>&1
icacls "%systemroot%\System32\usocore.dll" /reset >nul 2>&1
icacls "%systemroot%\System32\usocore.dll" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::
::Remove ability for the following files to be executed
takeown /f "%systemroot%\System32\UsoClient.exe" /a >nul 2>&1
icacls "%systemroot%\System32\UsoClient.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\UsoClient.exe" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 >nul 2>&1
::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaaSMedic.exe" /a >nul 2>&1
icacls "%systemroot%\System32\WaaSMedic.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\WaaSMedic.exe" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 >nul 2>&1
::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaasMedicSvc.dll" /a >nul 2>&1
icacls "%systemroot%\System32\WaasMedicSvc.dll" /reset >nul 2>&1
icacls "%systemroot%\System32\WaasMedicSvc.dll" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 >nul 2>&1
::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaaSMedicPS.dll" /a >nul 2>&1
icacls "%systemroot%\System32\WaaSMedicPS.dll" /reset >nul 2>&1
icacls "%systemroot%\System32\WaaSMedicPS.dll" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 >nul 2>&1
::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaaSAssessment.dll" /a >nul 2>&1
icacls "%systemroot%\System32\WaaSAssessment.dll" /reset >nul 2>&1
icacls "%systemroot%\System32\WaaSAssessment.dll" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 >nul 2>&1
::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\SIHClient.exe" /a >nul 2>&1
icacls "%systemroot%\System32\SIHClient.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\SIHClient.exe" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 >nul 2>&1
::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\MusNotificationUx.exe" /a >nul 2>&1
icacls "%systemroot%\System32\MusNotificationUx.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\MusNotificationUx.exe" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 >nul 2>&1
::::::::::::::::::::::::::::
::Disable remsh
taskkill /im remsh.exe /f >nul 2>&1
if exist "%ProgramFiles%\rempl" rmdir /s /q "%ProgramFiles%\rempl-backup" >nul 2>&1
ren "%ProgramFiles%\rempl" rempl-backup >nul 2>&1
::::::::::::::::::::::::::::
::Create automatic Windows Defender Update "WDU" task that updates Defender only if it's enabled and running.
::Create Windows Update Blocker "Wub_task" that sets your desired Windows Update service state at boot.
pushd %~dp0
cscript //nologo module.vbs >nul 2>&1
cls
timeout /t 1 /nobreak >nul 2>&1
popd
::::::::::::::::::::::::::::
echo ***********************************************
echo Welcome to manual updates!
echo Automatic updates are now turned off
echo (unless overriden with Configurator).
echo This script automates the update process
echo It automatically disables a range of useless junk
echo that bypasses windows update, such as:
echo remsh, UsoClient, WaaSMedic, SIHClient, and Update Assistant.*
echo Enables and starts only the Windows Update Service.
echo Runs the Windows Update MiniTool (WUMT).
echo After updates, stops and disables the Windows Update service.
echo *The included uninstaller undoes script changes.*
echo Closing WUMT at any time disables updates again;
echo however, if WUMT is already offering updates, you
echo need to hide them and/or install them one-by-one
echo before closing WUMT or it may install them without
echo asking next time. Don't change WUMT settings while
echo running this script. If an update requires a reboot,
echo re-run the script and just close the first screen
echo to make sure the useless junk that forces updates
echo stay off.
echo Run Configurator.cmd to enable running store any time.
echo ***********************************************
echo. & echo Press any key to check for updates, or
echo close this screen to cancel and leave updates turned off
echo (unless overridden with configurator) & pause > nul
"%~dp0wub.exe" /e
:: Check OS and run correct version of WUMT
for /f "tokens=2 delims==" %%a in ('wmic cpu get AddressWidth /value') do (set arch=%%a)
IF %arch% == 32 (set "wumt=%~dp0wumt_x86.exe") else (set "wumt=%~dp0wumt_x64.exe")
Start "" "%wumt%" -update "-onclose %~dp0wub.exe /d /p"

Configurator.cmd:

Escape characters for highlighted "windows update status" did not paste correctly here.
Use this copy on pastebin instead:

Site: https://pastebin.com

Sharecode[?]: /HnrMFbCc

 

Uninstaller.cmd:


@echo off
Color 1F
Title WUMT Wrapper Script 2.3.5 uninstaller
set "params=Problem_with_elevating_UAC_for_Administrator_Privileges"&if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
fsutil dirty query %systemdrive%  >nul 2>&1 && goto :GotPrivileges
::    The following test is to avoid infinite looping if elevating UAC for Administrator Privileges failed
If "%1"=="%params%" (echo Elevating UAC for Administrator Privileges failed&echo Right click on the script and select 'Run as administrator'&echo Press any key to exit...&pause>nul 2>&1&exit)
cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "%~0", "%params%", "", "runas", 1 > "%temp%\getadmin.vbs"&cscript //nologo "%temp%\getadmin.vbs"&exit
:GotPrivileges
echo. & echo WUMT Wrapper Script Uninstaller
echo. & echo If you continue, and have no other
echo method of controlling updates, updates
echo may start right away.
echo. & echo Press a key to uninstall WUMT Wrapper Script.
echo or close window to cancel...
pause > nul
cls
echo. & echo I have to ask if you're really sure?
echo Press a key to uninstall
echo or close window to back out now...
pause > nul
cls
ren "%ProgramFiles%\rempl-backup" rempl >nul 2>&1
ren "%~dp0wub.exe-backup" wub.exe >nul 2>&1
schtasks /delete /tn "wub_task" /f >nul 2>&1
schtasks /delete /tn "WDU" /f >nul 2>&1
del "%~dp0WDU.cmd" /f /q >nul 2>&1
::::::::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\UsoClient.exe" /a >nul 2>&1
icacls "%systemroot%\System32\UsoClient.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\UsoClient.exe" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaaSMedic.exe" /a >nul 2>&1
icacls "%systemroot%\System32\WaaSMedic.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\WaaSMedic.exe" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaasMedicSvc.dll" /a >nul 2>&1
icacls "%systemroot%\System32\WaasMedicSvc.dll" /reset >nul 2>&1
icacls "%systemroot%\System32\WaasMedicSvc.dll" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaaSMedicPS.dll" /a >nul 2>&1
icacls "%systemroot%\System32\WaaSMedicPS.dll" /reset >nul 2>&1
icacls "%systemroot%\System32\WaaSMedicPS.dll" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\WaaSAssessment.dll" /a >nul 2>&1
icacls "%systemroot%\System32\WaaSAssessment.dll" /reset >nul 2>&1
icacls "%systemroot%\System32\WaaSAssessment.dll" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\SIHClient.exe" /a >nul 2>&1
icacls "%systemroot%\System32\SIHClient.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\SIHClient.exe" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::::::::
takeown /f "%systemroot%\System32\MusNotificationUx.exe" /a >nul 2>&1
icacls "%systemroot%\System32\MusNotificationUx.exe" /reset >nul 2>&1
icacls "%systemroot%\System32\MusNotificationUx.exe" /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 >nul 2>&1
::::::::::::::::::::::::::::::::::
"%~dp0wub.exe" /e >nul 2>&1
cls
if not exist "%~dp0unins000.exe" (
echo ::::::::::::::::::::::::::::::::::::
echo :WUMT Wrapper Script changes undone:
echo ::::::::::::::::::::::::::::::::::::
echo Press any key to exit...
pause > nul
exit
)
"%~dp0unins000.exe" /silent /norestart

module.vbs
(This file is called by main script and doesn't need to be run on its own)


'  Don't run this file. It's for use by WUMT wrapper script v2.3.5
Option Explicit
Dim objShell : Set objShell=CreateObject("WScript.Shell")
Dim objFso : Set objFso = CreateObject("Scripting.FileSystemObject")
Dim Script_Directory : Script_Directory = objFSO.GetParentFolderName(objFSO.GetFile(Wscript.ScriptFullName))
Dim objFile
Dim Task_Name
Dim xml_File_Path
'
'    Establish the Windows Defender Update task
'
'     Create WDU.cmd, WDU.xml and Wub_task.xml files and create tasks
'
Task_Name="WDU"
'
'    Create WDU.cmd
'
Dim Cmd_File_Path : Cmd_File_Path = Script_Directory & "\" & Task_Name & ".cmd"
Set objFile = objFso.CreateTextFile("" & Cmd_File_Path & "", True)
objFile.WriteLine("::Don't run this file. It's for use by wrapper script.::")
objFile.WriteLine("cd /d ""%~dp0""")
objFile.WriteLine("sc query | find /i ""windefend"" > nul & if errorlevel 1 (exit)")
objFile.WriteLine("if not exist wub.exe-backup (wub.exe /e)")
objFile.WriteLine("""%ProgramFiles%\Windows Defender\MpCmdRun.exe"" -SignatureUpdate")
objFile.WriteLine("if not exist wub.exe-backup (wub.exe /d /p)")
objFile.WriteLine("exit")
objFile.Close
'
'    Create WDU.xml
'
On Error Resume Next
Dim Schedule_Time : Schedule_Time="10:35:00"
while Schedule_Time = ""
    Schedule_Time = InputBox("The Windows Defender Update task is scheduled once a day" & vbCRLF & _
                "Enter at what time (hh:mm:ss)", "Start time","00:00:00")
    if  TimeValue(Schedule_Time) = "" then
        Schedule_Time = ""
    end if
wend
xml_File_Path=Script_Directory & "\" & Task_Name & ".xml"
Set objFile = objFso.CreateTextFile("" & xml_File_Path & "", True)
objFile.WriteLine("<?xml version=""1.0"" encoding=""UTF-16""?>")
objFile.WriteLine("<Task version=""1.2"" xmlns=""http://schemas.microsoft.com/windows/2004/02/mit/task"">")
objFile.WriteLine("<RegistrationInfo>")
objFile.WriteLine("<Date>2018-02-18T08:29:39</Date>")
objFile.WriteLine("<Author>pf100\rpo</Author>")
objFile.WriteLine("<URI>WindowsDefenderUpdate</URI>")
objFile.WriteLine("</RegistrationInfo>")
objFile.WriteLine("<Triggers>")
objFile.WriteLine("<CalendarTrigger>")
objFile.WriteLine("<StartBoundary>2018-05-12T" &  FormatDateTime(Schedule_Time,vbShortTime) & ":00.0</StartBoundary>")
objFile.WriteLine("<Enabled>true</Enabled>")
objFile.WriteLine("<ScheduleByDay>")
objFile.WriteLine("<DaysInterval>1</DaysInterval>")
objFile.WriteLine("</ScheduleByDay>")
objFile.WriteLine("</CalendarTrigger>")
objFile.WriteLine("</Triggers>")
objFile.WriteLine("<Principals>")
objFile.WriteLine("<Principal id=""Author"">")
objFile.WriteLine("<RunLevel>HighestAvailable</RunLevel>")
objFile.WriteLine("</Principal>")
objFile.WriteLine("</Principals>")
objFile.WriteLine("<Settings>")
objFile.WriteLine("<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>")
objFile.WriteLine("<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>")
objFile.WriteLine("<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>")
objFile.WriteLine("<AllowHardTerminate>true</AllowHardTerminate>")
objFile.WriteLine("<StartWhenAvailable>true</StartWhenAvailable>")
objFile.WriteLine("<RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>")
objFile.WriteLine("<IdleSettings>")
objFile.WriteLine("<StopOnIdleEnd>true</StopOnIdleEnd>")
objFile.WriteLine("<RestartOnIdle>false</RestartOnIdle>")
objFile.WriteLine("</IdleSettings>")
objFile.WriteLine("<AllowStartOnDemand>true</AllowStartOnDemand>")
objFile.WriteLine("<Enabled>true</Enabled>")
objFile.WriteLine("<Hidden>false</Hidden>")
objFile.WriteLine("<RunOnlyIfIdle>false</RunOnlyIfIdle>")
objFile.WriteLine("<WakeToRun>false</WakeToRun>")
objFile.WriteLine("<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>")
objFile.WriteLine("<Priority>7</Priority>")
objFile.WriteLine("</Settings>")
objFile.WriteLine("<Actions Context=""Author"">")
objFile.WriteLine("<Exec>")
objFile.WriteLine("<Command>""" & Cmd_File_Path & """</Command>")
objFile.WriteLine("</Exec>")
objFile.WriteLine("</Actions>")
objFile.WriteLine("</Task>")
objFile.Close
'
'    Creating Windows Defender Update auto renewal task
'
objShell.Run "SchTasks /Delete /TN " & Task_Name & " /f", 0,True
If not objShell.Run ("SchTasks /Query /TN " & Task_Name & " ", 0,True) = 0 Then
    If objShell.Run ("SchTasks /Create /TN """ & Task_Name & """ /ru ""SYSTEM"" /xml """ & xml_File_Path & """",,True) = 0 Then
        Wscript.echo "Windows Defender Update task created"
        objFSO.deletefile("" & xml_File_Path & "")
    Else
        Wscript.echo "Creating Windows Defender Update task aborted"
    End If
End If
'
'    Create Wub_task
'
Task_Name="Wub_task"
xml_File_Path=Script_Directory & "\" & Task_Name & ".xml"
Set objFile = objFso.CreateTextFile("" & xml_File_Path & "", True)
objFile.WriteLine("<?xml version=""1.0"" encoding=""UTF-16""?>")
objFile.WriteLine("<Task version=""1.2"" xmlns=""http://schemas.microsoft.com/windows/2004/02/mit/task"">")
objFile.WriteLine("<RegistrationInfo>")
objFile.WriteLine("<Date>2018-02-18T08:29:39</Date>")
objFile.WriteLine("<Author>pf100\rpo</Author>")
objFile.WriteLine("<URI>WindowsDefenderUpdate</URI>")
objFile.WriteLine("</RegistrationInfo>")
objFile.WriteLine("<Triggers>")
objFile.WriteLine("<BootTrigger>")
objFile.WriteLine("<StartBoundary>2018-02-18T08:29:00</StartBoundary>")
objFile.WriteLine("<Enabled>true</Enabled>")
objFile.WriteLine("</BootTrigger>")
objFile.WriteLine("</Triggers>")
objFile.WriteLine("<Principals>")
objFile.WriteLine("<Principal id=""Author"">")
objFile.WriteLine("<RunLevel>HighestAvailable</RunLevel>")
objFile.WriteLine("</Principal>")
objFile.WriteLine("</Principals>")
objFile.WriteLine("<Settings>")
objFile.WriteLine("<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>")
objFile.WriteLine("<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>")
objFile.WriteLine("<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>")
objFile.WriteLine("<AllowHardTerminate>true</AllowHardTerminate>")
objFile.WriteLine("<StartWhenAvailable>true</StartWhenAvailable>")
objFile.WriteLine("<RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>")
objFile.WriteLine("<IdleSettings>")
objFile.WriteLine("<StopOnIdleEnd>true</StopOnIdleEnd>")
objFile.WriteLine("<RestartOnIdle>false</RestartOnIdle>")
objFile.WriteLine("</IdleSettings>")
objFile.WriteLine("<AllowStartOnDemand>true</AllowStartOnDemand>")
objFile.WriteLine("<Enabled>true</Enabled>")
objFile.WriteLine("<Hidden>false</Hidden>")
objFile.WriteLine("<RunOnlyIfIdle>false</RunOnlyIfIdle>")
objFile.WriteLine("<WakeToRun>false</WakeToRun>")
objFile.WriteLine("<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>")
objFile.WriteLine("<Priority>7</Priority>")
objFile.WriteLine("</Settings>")
objFile.WriteLine("<Actions Context=""Author"">")
objFile.WriteLine("<Exec>")
objFile.WriteLine("<Command>" & """" & Script_Directory & "\Wub.exe""</Command>")
objFile.WriteLine("<Arguments>/d /p</Arguments>")
objFile.WriteLine("</Exec>")
objFile.WriteLine("</Actions>")
objFile.WriteLine("</Task>")
objFile.Close
'
'    Creating Wub_task auto renewal task
'
objShell.Run "SchTasks /Delete /TN " & Task_Name & " /f", 0,True
If not objShell.Run ("SchTasks /Query /TN " & Task_Name & " ", 0,True) = 0 Then
    If objShell.Run ("SchTasks /Create /TN """ & Task_Name & """ /ru ""SYSTEM"" /xml """ & Script_Directory & "\" & Task_Name & ".xml""",,True) = 0 Then
        Wscript.echo "Windows Update Blocker Auto-Renewal Update task created"
        objFSO.deletefile("" & xml_File_Path & "")
    Else
        Wscript.echo "Windows Update Blocker Auto-Renewal Update task aborted"
    End If
End If

 

 

Changes

WUMT Wrapper Script 2.3.5 portable and installer.
Changelog since 2.3.4:
Finally finished the to-do list on code improvements and installer.

May 30, 2018
WUMT Wrapper Script 2.3.4 portable and installer.
Changelog since 2.3.3:
Fixed issue of Configurator not keeping correct settings
if wrapper script is updated (installed on top of itself)
under certain conditions.
Configurator now tells you the state of the Windows
Update Service before you make a change.
Readme and script documentation updated.

May 29, 2018
WUMT Wrapper Script 2.3.3 portable and installer.
Changelog since 2.3.2:
Improved installer. Now lets you install as portable installation.
Also includes just the portable script folder for those who prefer that.
Code cleanup.

If you installed version 2.3.1, install v2.3.2 immediately or you can't update! Sorry about that!
May 27, 2018
WUMT Wrapper Script 2.3.2 portable and installer.
Delete your previous script folder contents and shortcuts and install using the installer or manually put the files in a folder since some file names have changed since version 2.3.0
To uninstall completely only use the uninstall shortcut in the start menu, or run Uninstaller.cmd in the script folder.
Changelog since 2.3.1:
Improved installer.
Fixed serious bug with Windows Update not opening in Settings App.
Disabling usocore.dll in 2.3.1 was the problem.
v2.3.2 re-enables usocore.dll and leaves it enabled.

May 26, 2018
WUMT Wrapper Script 2.3.1 portable and installer.
Delete your previous script folder contents and shortcuts and install using the installer or manually put the files in a folder since some file names have changed.
To uninstall completely only use the uninstall shortcut in the start menu, or run Uninstaller.cmd in the script folder.
Changelog since 2.3.0:
Added usocore.dll to disabled files.
Now all task and related file creation from main script is done by module.vbs.

 

Homepage

Changelogs

WUMT Wrapper Script @ Majorgeeks.com

 

Download from Majorgeeks - WUMT Wrapper Script[Only latest build] + Windows Update MiniTool


Viewing all articles
Browse latest Browse all 78020

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>