윈 도 우 특정 업데이트 삭제 및 숨기기 스크립트
2016.05.19 23:48
============== 시작 ==============
RequireAdmin
Remove3146706
Dim WSHShell, StartTime, ElapsedTime, strUpdateName, strAllHidden
Dim hideupdates
hideupdates = "KB3146706"
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software'")
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
strUpdateName = update.Title
if instr(1, strUpdateName, hideupdates, vbTextCompare) <> 0 then
update.IsHidden = True
end if
Next
Function RequireAdmin()
Dim reg_valuename, WShell, Cmd, CmdLine, I
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")_
.EnumValues &H80000003, "S-1-5-19\Environment", reg_valuename
If IsArray(reg_valuename) <> 0 Then
RequireAdmin = 1
Exit Function
End If
Set Cmd = WScript.Arguments
For I = 0 to Cmd.Count - 1
If Cmd(I) = "/admin" Then
Wscript.Echo "To script you must have administrator rights!"
'RequireAdmin = 0
'Exit Function
WScript.Quit
End If
CmdLine = CmdLine & Chr(32) & Chr(34) & Cmd(I) & Chr(34)
Next
CmdLine = CmdLine & Chr(32) & Chr(34) & "/admin" & Chr(34)
Set WShell= WScript.CreateObject( "WScript.Shell")
CreateObject("Shell.Application").ShellExecute WShell.ExpandEnvironmentStrings(_
"%SystemRoot%\System32\WScript.exe"),Chr(34) & WScript.ScriptFullName & Chr(34) & CmdLine, "", "runas"
WScript.Quit
End Function
Function Remove3146706()
Dim reg_valuename, WShell, Cmd, CmdLine, I
Dim objShell, SDCommand
Set objShell = CreateObject("Wscript.Shell")
SDCommand = objShell.Run("wusa.exe /kb:3146706 /uninstall /quiet /norestart")
End Function
============== 끝 ==============
인터넷에서 얻은 소스 인데요
스크립트를 실행하면
관리자권한을 얻은 후
KB3146706 업데이트를 삭제 및 숨김 처리를 자동으로 한방에 해줍니다
이것을
KB3146706, KB3147071 두개의 업데이트 삭제 스크립트로 수정해주실분 계실까요?
그리고 삭제 부분에서
wusa.exe /kb:3146706 /uninstall /quiet /norestart
이 부분을
dism /Remove-Package /PackageName:Package_for_KB3146706~31bf3856ad364e35~x86~~6.1.1.2 /quiet /norestart
이런식으로 바꿔서도 가능한가요?
32비트 64비트 상관없이 한방에 됐으면 싶네요..
댓글 [1]
-
suk 2016.05.20 01:57
테스트 해보고 사용기에 올렸습니다 https://windowsforum.kr/review/7586133