- 상황: 보안 취약점이 발생하여 당장 패치를 하지 않으면 안되는 상황이 발생하였다. 그 패치 내용이 KB123456인데, 회사의 컴퓨터에 모두 패치가 되었는지 확인하고 혹시 패치되지 않은 것이 있으면 강제적으로 윈도우 업데이트를 해야 해야 한다.
- 문제 해결 제안: 회사의 모든 컴퓨터를 켜서 일일이 패치 적용 여부를 확인하는 것은 현실성이 떨어진다. 그래서 중앙에서 회사 컴퓨터들에 접속하여 확인하여 처리하는 것이 합리적인 대안이 된다. 이렇게 하기 위해서는 원격 관리 전문 소프트웨어를 사용하거나 아니면 Windows 7이상에 기본적으로 설치되어 있는 PowerShell을 이용하면 편리하다
-
해결 절차
- 회사의 모든 컴퓨터에 Windows PowerShell 2.0을 설치한 후 원격 접속을 허용하도록 해 두어야 한다. (Enable-PSRemoting –Force)
이 작업을 일일이 로컬 컴퓨터에서 하기 보다는 Active Directory의 Group Policy를 이용하여 컴퓨터를 부팅하면 자동으로 Enable-PSRemoting –Force를 실행하도록 하면 된다. - 관리자는 각 클라이언트 컴퓨터에 접속하여 보안 패치가 되었는지 확인한다.
Invoke-Command –ComputerName Client1, Client2 –Scriptblock {Get-Hotfix –id KB123456}
또는 Invoke-Command –ComputerName (Get-Content c:\computers.txt) –Scriptblock {Get-Hotfix –id KB123456} - 화면에 KB123456이 표시가 되면 Client1, Client2는 해당 보안 패치가 되어 있음을 알 수 있다. 그런데 이러한 표시가 없으면 원격에서 강제적으로 보안 패치를 해주어야 한다. 즉, 윈도우 업데이트를 강제적으로 해야 한다는 것이다. 업데이트하는 방법은 다음에….
- 참고로 가장 최근에 설치된 HotFix를 보려면 (Get-HotFix | Sort-Object -Property InstalledOn)[-1]
- 회사의 모든 컴퓨터에 Windows PowerShell 2.0을 설치한 후 원격 접속을 허용하도록 해 두어야 한다. (Enable-PSRemoting –Force)