Vous pouvez certainement le faire avec un script VBS. Des questions similaires ont déjà été résolues sur certains autres sites StackExchange (voir How to disable the “Get Windows 10” icon shown in the notification area (tray)? et Block specific Windows update hotfix)
Les parties correspondant à votre question sont copiées ci-dessous. Les questions originales valent la peine d'être lues, et elles contiennent des notes supplémentaires qui pourraient aussi être utiles.
Ils ont été écrits spécifiquement pour traiter les mises à jour GWX, mais vous pouvez utiliser un nombre KB avec eux.
"BlockWindows10.bat":
ECHO OFF
REM --- remember to invoke from ELEVATED command prompt!
REM --- or start the batch with context menu "run as admin".
SETLOCAL
REM --- (as of 2015-09-07):
REM KB3035583 - GWX Update installs Get Windows 10 app in Windows 8.1 and Windows 7 SP1
REM KB3021917 - Update to Windows 7 SP1 for performance improvements
REM KB3012973 - Upgrade to Windows 10 Pro
REM --- no longer blocking:
REM KB2952664 - Compatibility update for upgrading Windows 7
REM KB2976978 - Compatibility update for Windows 8.1 and Windows 8
REM KB3022345 - Telemetry [Replaced by KB3068708]
REM KB3068708 - Update for customer experience and diagnostic telemetry
REM --- uninstall updates
echo uninstalling updates ...
start "title" /b /wait wusa.exe /kb:3021917 /uninstall /quiet /norestart
echo - next
start "title" /b /wait wusa.exe /kb:3035583 /uninstall /quiet /norestart
echo - done.
timeout 10
REM --- hide updates
echo hiding updates ...
start "title" /b /wait cscript.exe "%~dp0HideWindowsUpdates.vbs" 3021917 3035583 3012973
echo - done.
echo ... COMPLETED (please remember to REBOOT windows, now)
pause
REM --- EOF
"HideWindowsUpdates.vbs" (Kudo https://serverfault.com/a/341318):
'// Inspired by Colin Bowern: https://serverfault.com/a/341318
If Wscript.Arguments.Count < 1 Then
WScript.Echo "Syntax: HideWindowsUpdates.vbs [KB1] [KB2] ..." & vbCRLF & _
" - Example1: HideWindowsUpdates.vbs 3035583" & vbCRLF & _
" - Example2: HideWindowsUpdates.vbs 3035583 3012973"
WScript.Quit 1
End If
Dim objArgs
Set objArgs = Wscript.Arguments
Dim updateSession, updateSearcher
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateUpdateSearcher()
Wscript.Stdout.Write "Searching for pending updates..."
Dim searchResult
Set searchResult = updateSearcher.Search("IsInstalled=0")
Dim update, kbArticleId, index, index2
WScript.Echo CStr(searchResult.Updates.Count) & " found."
For index = 0 To searchResult.Updates.Count - 1
Set update = searchResult.Updates.Item(index)
For index2 = 0 To update.KBArticleIDs.Count - 1
kbArticleId = update.KBArticleIDs(index2)
For Each hotfixId in objArgs
If kbArticleId = hotfixId Then
If update.IsHidden = False Then
WScript.Echo "Hiding update: " & update.Title
update.IsHidden = True
Else
WScript.Echo "Already hiddn: " & update.Title
End If
End If
Next
Next
Next
'// EOF