일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 패스워드
- 구글웹화면
- 통합도서회원증
- 스케쥴
- 번역툴
- 2013사진공모전
- web scrapping
- rainlendar
- 레노버
- 달력
- * 암호
- outwit hub
- Windows
- Firefox
- Asterisk password reveal
- 단축키
- 공유기 패스워드
- 가을
- Shortcut Key
- 일정관리
- 아이콘크기
- Google Calendar
- 여름
- 댓글스팸
- Edge E125
- 구글메인화면
- 구글캘린더
- 파워셸
- 가로화면
- 윈도우 탐색기
- Today
- Total
Black&White
mbsacli 를 이용하여 윈도우 자동 업데이트 하기 본문
mbsacli 를 이용하여 오프라인상태에서 윈도우 업데이트 체크하기 를 참고
1) 먼저 MBSAcli.exe 를 이용하여 updates.xml 파일을 생성(아래 명령 참고
MBSACLI /xmlout /catalog c:\temp\wsusscn2.cab /unicode > c:\temp\updates.xml
2) 아래 스크립트를 파일명 GetUpdates.ps1 으로 저장한다.
$UpdateXML = "updates.xml"
$toFolder = "c:\temp\"
$installFile = $toFolder + "\Updates_Install.bat"
#Initialize webclient for downloading files
$webclient = New-Object Net.Webclient
$webClient.UseDefaultCredentials = $true
# Get the content of the XML file
$Updates = [xml](Get-Content $UpdateXML)
"@Echo Off" | Out-File $installFile
"REM This will install all patches" | Out-File $installFile -Append
foreach ($Check in $Updates.XMLOut.Check)
{
Write-Host "Checking for", $Check.Name
Write-Host $Check.Advice.ToString()
#Checking for files to download
foreach ($UpdateData in $Check.Detail.UpdateData)
{
if ($UpdateData.IsInstalled -eq $false)
{
Write-Host "Download the file for KB", $UpdateData.KBID
Write-Host "Starting download ", $UpdateData.Title, "."
$url = [URI]$UpdateData.References.DownloadURL
$fileName = $url.Segments[$url.Segments.Count - 1]
$toFile = $toFolder +"\"+ $fileName
$webClient.DownloadFile($url, $toFile)
Write-Host "Done downloading"
"@ECHO Starting installing "+ $fileName | Out-File $installFile -Append
if ($fileName.EndsWith(".msu"))
{
"wusa.exe "+ $fileName + " /quiet /norestart /log:%SystemRoot%\Temp\KB"+$UpdateData.KBID+".log" | Out-File $installFile -Append
}
elseif ($fileName.EndsWith(".cab"))
{
"start /wait pkgmgr.exe /ip /m:"+ $fileName + " /quiet /nostart /l:%SystemRoot%\Temp\KB"+$UpdateData.KBID+".log" | Out-File $installFile -Append
}
else
{
$fileName + " /passive /norestart /log %SystemRoot%\Temp\KB"+$UpdateData.KBID+".log" | Out-File $installFile -Append
}
"@ECHO Installation returned %ERRORLEVEL%" | Out-File $installFile -Append
"@ECHO." | Out-File $installFile -Append
Write-Host
}
}
Write-Host
}
3) cmd 창에서 powershell .\GetUpdates.ps1 을 실행한다.
이때 에러가 발생한다면, powershell 에서 서명된 스크립트의 실행을 허용하도록 설정을 바꿔줘야 한다.
cmd 창에서 아래 명령을 실행후, 결과에 Restricted 로 나온다면,
powershell get-executionpolicy
다시 cmd 창에서 아래 명령을 실행한다.
powershell set-executionpolicy remotesigned
이렇게 powershell 설정을 powershell .\GetUpdates.ps1 을 실행한다.
업데이트게 있다면
4) Updates_Install.bat 를 실행한다.
'Windows' 카테고리의 다른 글
Windows 명령창, 탐색기 바로 실행 Tips (0) | 2016.10.25 |
---|---|
mbsacli 를 이용하여 오프라인상태에서 윈도우 업데이트 체크하기 (0) | 2016.04.19 |
WSCC(Windows System Control Center) - Sysinternal, Nirsoft Tools 자동업데이트 도구 (0) | 2014.09.12 |
Windows 7 에 OpenSSH 서버 설치하기 (2) | 2013.08.01 |
Windows 7 시작메뉴를 타일메뉴로 바꾸기 (0) | 2013.07.08 |