WUA(Windows 업데이트 에이전트)를 사용하여 Windows 업데이트 또는 WSUS(Windows Server Update Services) 서버에 연결하지 않고 컴퓨터에서 보안 업데이트를 검색할 수 있습니다. 그러면 인터넷에 연결되지 않은 컴퓨터에서 보안 업데이트를 검사할 수 있습니다.
업데이트를 오프라인으로 검사하려면 Windows 업데이트에서 서명된 파일(Wsusscn2.cab)을 다운로드해야 합니다.
Wsusscn2.cab 파일은 Microsoft에서 서명한 캐비닛 파일입니다. 이 파일에는 Microsoft에서 게시한 보안 관련 업데이트에 대한 정보가 포함되어 있습니다. 인터넷에 연결되지 않은 컴퓨터를 검사하여 이러한 보안 관련 업데이트가 있는지 또는 필요한지 확인할 수 있습니다. Wsusscn2.cab 파일에는 보안 업데이트 자체가 포함되어 있지 않으므로 다른 방법을 통해 필요한 보안 관련 업데이트를 가져와서 설치해야 합니다. 보안 관련 업데이트가 Windows 업데이트 사이트에서 릴리스, 제거 또는 수정됨에 따라 Wsusscn2.cab 파일의 새 버전이 주기적으로 릴리스됩니다. 최신 Wsusscn2.cab 파일은 다음 위치에서 다운로드할 수 있습니다. 다운로드 Wsusscn2.cab
최신 Wsusscn2.cab다운로드한 후 AddScanPackageService 메서드에 파일을 제공할 수 있으며 WUA API를 사용하여 오프라인 컴퓨터에서 보안 업데이트를 검색할 수 있습니다. WUA는 오프라인 검사를 실행하기 전에 유효한 Microsoft 인증서로 Wsusscn2.cab 서명되어 있는지 확인합니다.
메모
CAB 파일의 오프라인 검사를 수행할 때 일반 메모리 사용량보다 높은 경우가 있을 수 있습니다. 검사 프로세스에 충분한 메모리 리소스를 할당하기 위해 시스템을 필요한 조정하는 것이 좋습니다. 여기에는 추가 프로세서 구성 및 페이지 파일 수정이 포함될 수 있습니다. 적절한 메모리 할당을 보장하면 검사를 효율적이고 효과적으로 완료하는 데 도움이 됩니다.
메모
SHA-1 사용 중단 이니셔티브따라 Wsusscn2.cab 파일은 SHA-1 및 SHA-2 해시 알고리즘(특히 SHA-256)을 사용하여 더 이상 이중 서명되지 않습니다. 이 파일은 이제 SHA-256만 사용하여 서명됩니다. 이 파일에서 디지털 서명을 확인하는 관리자는 이제 단일 SHA-256 서명만 예상해야 합니다.
본보기
다음 예제에서는 Wsusscn2.cab 파일을 사용하여 컴퓨터를 검색하고 누락된 업데이트를 표시합니다.
중요하다
이러한 스크립트는 Windows 업데이트 에이전트 API의 사용을 보여주고 개발자가 이러한 API를 사용하여 문제를 해결하는 방법의 예를 제공하기 위한 것입니다. 이러한 스크립트는 프로덕션 코드로 사용되지 않으며 Microsoft에서 스크립트를 지원하지 않습니다(기본 Windows 업데이트 에이전트 API가 지원됨).
Set UpdateSession = CreateObject("Microsoft.Update.Session")
Set UpdateServiceManager = CreateObject("Microsoft.Update.ServiceManager")
Set UpdateService = UpdateServiceManager.AddScanPackageService("Offline Sync Service", "c:\wsusscn2.cab")
Set UpdateSearcher = UpdateSession.CreateUpdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
UpdateSearcher.ServerSelection = 3 ' ssOthers
UpdateSearcher.ServiceID = UpdateService.ServiceID
Set SearchResult = UpdateSearcher.Search("IsInstalled=0")
Set Updates = SearchResult.Updates
If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
End If
WScript.Echo "List of applicable items on the machine when using wssuscan.cab:" & vbCRLF
For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next
WScript.Quit