Difference between revisions of "Automatic Updates"
(added vbs script method) |
|||
| Line 88: | Line 88: | ||
put this in disableupdate.vbs: | put this in disableupdate.vbs: | ||
| − | <source lang="vb"> | + | <source lang="vb"> |
| + | 'part that disables auto update | ||
| + | Const AU_DISABLED = 1 | ||
Set objAutoUpdate = CreateObject("Microsoft.Update.AutoUpdate") | Set objAutoUpdate = CreateObject("Microsoft.Update.AutoUpdate") | ||
Set objSettings = objAutoUpdate.Settings | Set objSettings = objAutoUpdate.Settings | ||
| Line 95: | Line 97: | ||
objSettings.NotificationLevel = AU_DISABLED | objSettings.NotificationLevel = AU_DISABLED | ||
objSettings.Save | objSettings.Save | ||
| + | |||
| + | ' part that creates a file c:\disableupdate.txt to do wpkg install check | ||
| + | Set objFSO = CreateObject("Scripting.FileSystemObject") | ||
| + | Set objFile = objFSO.CreateTextFile("c:\disableupdate.txt") | ||
| + | |||
| + | |||
</source> | </source> | ||
| Line 102: | Line 110: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<packages> | <packages> | ||
| − | + | <package | |
| − | + | id="disableupdate" | |
| − | + | name="disablewindowsupdate" | |
| − | + | revision="1" | |
| − | + | reboot="false" | |
| − | + | priority="2"> | |
| − | + | ||
| − | + | <check type="file" condition="exists" path="C:\disableupdate.txt" /> | |
| − | + | <install cmd='W:\tools\disableupdate.vbs' /> | |
| − | + | ||
| − | + | </package> | |
</packages> | </packages> | ||
</source> | </source> | ||
Revision as of 14:33, 11 March 2010
Automatic updates using registry
Read this before you apply these settings: http://support.microsoft.com/kb/328010. It's necessary to copy program "reg.exe" from XP machine to "C:\WINNT\System32\" directory on Windows 2000 machine or install Windows 2000 support tools.
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package
id="winupdates"
name="Automatic updates"
revision="8"
reboot="false"
notify="false"
priority="100">
<!-- http://support.microsoft.com/kb/328010 -->
<check type="logical" condition="or">
<check type="logical" condition="and">
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" value="Microsoft Windows 2000" />
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUOptions" value="4" />
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\ScheduledInstallDay" value="0" />
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\ScheduledInstallTime" value="8" />
</check>
<check type="logical" condition="and">
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" value="Microsoft Windows XP" />
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUOptions" value="4" />
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\ScheduledInstallDay" value="0" />
<check type="registry" condition="equals" path="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\ScheduledInstallTime" value="8" />
</check>
</check>
<install cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f' />
<install cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 4 /f' />
<install cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallDay /t REG_DWORD /d 0 /f' />
<install cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallTime /t REG_DWORD /d 8 /f' />
<upgrade cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f' />
<upgrade cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 4 /f' />
<upgrade cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallDay /t REG_DWORD /d 0 /f' />
<upgrade cmd='reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallTime /t REG_DWORD /d 8 /f' />
<remove cmd='reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f' />
</package>
</packages>
Automatic updates with Unattended
If you deployed Windows workstations using Unattended, you had the opportunity to configure Automatic Updates.
If you didn't do it, or want to change it for some reason (i.e., Microsoft introduced a "patchday", and it makes too great impact on your network and/or workstations), you can use WPKG.
The below setting (auconfig.pl 3) will download updates automatically and notify the user before install. Other choices are possible:
1 | off Disable automatic updates 2 | notify Notify user before download 3 | download Download automatically; notify user before install 4 | install Download and install automatically
For more options, see auconfig.pl help.
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package
id="windowsupdates"
name="Windows Updates"
revision="1"
reboot="false"
priority="10"
execute="once">
<install cmd='C:\Perl\bin\perl %SERVER%\unattended\bin\auconfig.pl 3' />
<upgrade cmd='C:\Perl\bin\perl %SERVER%\unattended\bin\auconfig.pl 3' />
</package>
</packages>
Note that you will need Unattended on your server, and Perl on your workstations (it comes by default if you deploy Windows with Unattended).
Automatic updates with vbs
put this in disableupdate.vbs:
'part that disables auto update
Const AU_DISABLED = 1
Set objAutoUpdate = CreateObject("Microsoft.Update.AutoUpdate")
Set objSettings = objAutoUpdate.Settings
objSettings.NotificationLevel = AU_DISABLED
objSettings.Save
' part that creates a file c:\disableupdate.txt to do wpkg install check
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("c:\disableupdate.txt")
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package
id="disableupdate"
name="disablewindowsupdate"
revision="1"
reboot="false"
priority="2">
<check type="file" condition="exists" path="C:\disableupdate.txt" />
<install cmd='W:\tools\disableupdate.vbs' />
</package>
</packages>
Note that you will need Unattended on your server, and Perl on your workstations (it comes by default if you deploy Windows with Unattended).