-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInstallUpdatesOnly.bat
95 lines (87 loc) · 3.72 KB
/
InstallUpdatesOnly.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
@ECHO OFF
setLocal ENABLEDELAYEDEXPANSION
SET FQDN=<fqdn>
SET WSUSSVR=%1
SET DOMAINWSUSSVR=http://<wsus name>.<fqdn>:<wsus port>
IF "%1" EQU "" SET WSUSSVR=!DOMAINWSUSSVR!
If "!DOMAINWSUSSVR!" EQU "" SET /P WSUSSVR=Whats the wsus server url or IP and Port [eg. http://wsus.!FQDN!:8530]?
:PSVERSION
for /f "skip=3 tokens=2 delims=:" %%A in ('powershell -noprofile -executionPolicy bypass -command "get-host"') do (
set /a n=!n!+1
set c=%%A
if !n!==1 set PSVersion=!c!
)
Set PSVersion=%PSVersion: =%
IF !PSVersion! LSS 5.1 GOTO UPDATEPS
GOTO UPDATES
:UPDATEPS
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ ³
ECHO ³ ³
ECHO ³ POWERSHELL: Updating to 5.1 ³
ECHO ³ ³
ECHO ³ ³
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ECHO.
ECHO Powershell is out-of-date, current version is: !PSVersion!
powershell.exe -noprofile -executionPolicy bypass -file "%~dp0scripts\Install-WMF5.1.ps1" -UpdatesPath "%~dp0Updates" -AcceptEULA -AllowRestart
:UPDATES
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ ³
ECHO ³ ³
ECHO ³ PREPARE: Checking for Updates ³
ECHO ³ ³
ECHO ³ ³
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ECHO.
ECHO Configuring time...
powershell.exe -noprofile -executionPolicy bypass -file "%~dp0Scripts\Set-TimeZone.ps1" -TimeZone "Eastern Standard Time"
ECHO Configuring system's WSUS policy to use !WSUSSVR!
ECHO ; PROCESSING WSUS POLICY > %~dp0\scripts\wsus.lgpo
ECHO ; -------------------------------------------------------->> %~dp0\scripts\wsus.lgpo
ECHO Computer>> %~dp0\scripts\wsus.lgpo
ECHO Software\Policies\Microsoft\Windows\WindowsUpdate\AU>> %~dp0\scripts\wsus.lgpo
ECHO UseWUServer>> %~dp0\scripts\wsus.lgpo
ECHO DWORD:1>> %~dp0\scripts\wsus.lgpo
ECHO.>> %~dp0\scripts\wsus.lgpo
ECHO Computer>> %~dp0\scripts\wsus.lgpo
ECHO Software\Policies\Microsoft\Windows\WindowsUpdate>> %~dp0\scripts\wsus.lgpo
ECHO WUServer>> %~dp0\scripts\wsus.lgpo
ECHO SZ:!WSUSSVR!>> %~dp0\scripts\wsus.lgpo
ECHO.>> %~dp0\scripts\wsus.lgpo
ECHO Computer>> %~dp0\scripts\wsus.lgpo
ECHO Software\Policies\Microsoft\Windows\WindowsUpdate>> %~dp0\scripts\wsus.lgpo
ECHO WUStatusServer>> %~dp0\scripts\wsus.lgpo
ECHO SZ:!WSUSSVR!>> %~dp0\scripts\wsus.lgpo
ECHO.>> %~dp0\scripts\wsus.lgpo
ECHO Computer>> %~dp0\scripts\wsus.lgpo
ECHO Software\Policies\Microsoft\Windows\WindowsUpdate>> %~dp0\scripts\wsus.lgpo
ECHO DisableOSUpgrade>> %~dp0\scripts\wsus.lgpo
ECHO DWORD:1>> %~dp0\scripts\wsus.lgpo
ECHO.>> %~dp0\scripts\wsus.lgpo
ECHO Computer>> %~dp0\scripts\wsus.lgpo
ECHO Software\Policies\Microsoft\Windows\WindowsUpdate>> %~dp0\scripts\wsus.lgpo
ECHO DoNotConnectToWindowsUpdateInternetLocations>> %~dp0\scripts\wsus.lgpo
ECHO DWORD:1>> %~dp0\scripts\wsus.lgpo
ECHO.>> %~dp0\scripts\wsus.lgpo
ECHO Computer>> %~dp0\scripts\wsus.lgpo
ECHO Software\Policies\Microsoft\Windows\WindowsUpdate>> %~dp0\scripts\wsus.lgpo
ECHO ManagePreviewBuilds>> %~dp0\scripts\wsus.lgpo
ECHO DWORD:1>> %~dp0\scripts\wsus.lgpo
ECHO.>> %~dp0\scripts\wsus.lgpo
ECHO Computer>> %~dp0\scripts\wsus.lgpo
ECHO Software\Policies\Microsoft\Windows\WindowsUpdate>> %~dp0\scripts\wsus.lgpo
ECHO ManagePreviewBuildsPolicyValue>> %~dp0\scripts\wsus.lgpo
ECHO DWORD:0>> %~dp0\scripts\wsus.lgpo
ECHO Applying WSUS Policy...
%~dp0\scripts\LGPO.exe /t %~dp0\scripts\wsus.lgpo
timeout 3
ECHO Restarting WSUS Services...
net stop wuauserv >nul 2>nul
net start wuauserv >nul 2>nul
ECHO Checking for Windows updates...a reboot may be required
powershell.exe -noprofile -executionPolicy bypass -file "%~dp0scripts\WSUS.ps1" -Install -Reboot
timeout 30
exit