반응형
참고
-
Windows Update 관련 레지스트리 옵션 - Azure Docs
728x90
Windows Update 정책 변경
-
Local Group Policy 에서 두 가지 항목 수정
-
SCONFIG에서 수정
실질적으로 위 두 가지 항목을 병행해야 윈도우에서 자동으로 업데이트 내용을 다운로드 받지만 사용자가 설치를 하는 방식으로 설정됩니다.
아래의 레지스트리 내용은 Local Group Policy에서 참조하는 레지스트리 값으로 LGP에서 해당 항목이 활성화 되어 있지 않으면 참조되는 곳이 없는 값입니다.
Windows Update 레지스트리 설정 powershell (샘플)
Clear-Host
Write-Host "0 -> Change setting in Windows Update app (default)"
Write-Host "1 -> Never check for updates (not recommended)"
Write-Host "2 -> Notify for download and notify for install"
Write-Host "3 -> Auto download and notify for install"
Write-Host "4 -> Auto download and schedule the install"
Write-Host "Enter any character to exit"
Write-Host
switch(Read-Host "Choose Window Update Settings"){
0 {$UpdateValue = 0}
1 {$UpdateValue = 1}
2 {$UpdateValue = 2}
3 {$UpdateValue = 3}
4 {$UpdateValue = 4}
Default{Exit}
}
$WindowsUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\"
$AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
If(Test-Path -Path $WindowsUpdatePath) {
Remove-Item -Path $WindowsUpdatePath -Recurse
}
If ($UpdateValue -gt 0) {
New-Item -Path $WindowsUpdatePath
New-Item -Path $AutoUpdatePath
}
If ($UpdateValue -eq 1) {
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1
}
If ($UpdateValue -eq 2) {
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name AUOptions -Value 2
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallDay -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallTime -Value 3
}
If ($UpdateValue -eq 3) {
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name AUOptions -Value 3
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallDay -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallTime -Value 3
}
If ($UpdateValue -eq 4) {
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name AUOptions -Value 4
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallDay -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallTime -Value 3
}
반응형
Windows Server 2019에서 WindowsUpdate 레지스트리 확인
Windows Update 정책 변경
-
Local Group Policy 에서 두 가지 항목 수정
-
SCONFIG에서 수정
위 두 가지 Windows Update 정책 적용 중
-
Local Group Policy 설정으로 AUOptions값이 4 에서 3으로 변경 되었지만
-
이 후 SConfig 설정으로 AUOptions값이 삭제 되는 현상이 발견되었습니다.
확인을 위해 아래 테스트가 진행 되었습니다.
Windows 가상머신 생성 직후 레지스트리 값
가상머신이 생성된 직 후 레지스트리 값 인데요 자동 업데이트가 켜 있는 상태 입니다.
Local Group Polocy 설정 후 레지스트리 값
Windows Server 업데이트 자동 재부팅 막기의 내용대로 Local Group Policy에서 아래 두 가지 항목 설정 합니다.
레지스트리 값 확인
Local Group Policy에 의하여 레지스트리에 관련 값들이 생성 되었습니다.
AUOptions값이 4에서 3으로 변경되었고 몇 가지 값들이 생성 되어 있습니다.
SCONFIG 에서 자동업데이트 설정 후 레지스트리 값 확인
Windows 자동업데이트 비활성화의 내용으로 SConfig 설정
기본값은 Automatic 이지만 Local Group Policy에 의해 DownloadOnly로 바뀌어 있었고, 이 후 Manual로 변경합니다.
레지스트리 값 확인
SConfig 에서 Update를 Manual로 변경 후 AUOptions가 사라지고, NoAutoUpdate값이 0에서 1로 변경 되었습니다.
이 상태에서 Local Group Policy 다시 확인
앞서 설정 했던 Local Group Policy의 두 가지 옵션은 그대로 활성화 되어 있습니다.
지금까지 각 설정의 의해 변경된 레지스트리 값으로 추측해보면
Local Group Policy 설정으로
-
자동다운로드 + 수동 설치 방식을 목표로 하지만
이 후 설정하는 SCONFIG 에 의해 OS에 적용되는 최종 설정은
-
수동 다운로드 + 수동 설치로 적용되어
Windows 업데이트는 무조건 수동으로 진행하는 설정이 되는것으로 추측됩니다.
업데이트 방식을 자동으로 할 것인지 수동으로 할 것인지 설정은 SConfig에서 진행하고,
Local Group Policy에서는 자동업데이트를 선택한 경우 자동업데이트의 종류와 스케줄을 설정하도록 되어 있는 것으로 추측 됩니다.
레지스트리를 편집하여 자동 업데이트 구성 - Azure Docs
추가 테스트
혹시 레지스트리 직접 편집으로 두 가지(LocalGroupPolicy, SConfig) 설정값을 추가하면 어떻게 될지 궁굼하여
새로운 가상머신을 만들고 powershell에서 아래 커맨드를 실행해 봅니다.
$WindowsUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\"
$AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
If(Test-Path -Path $WindowsUpdatePath) {
Remove-Item -Path $WindowsUpdatePath -Recurse
}
New-Item -Path $WindowsUpdatePath
New-Item -Path $AutoUpdatePath
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoRebootWithLoggedOnUsers -Value 1
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1
Set-ItemProperty -Path $AutoUpdatePath -Name AUOptions -Value 3
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallDay -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallTime -Value 3
새로운 가상머신 생성 직후 별 다른 값이 없는 상태의 레지스트리 확인
Local Group Policy에도 목표로 하는 두 개 옵션 비활성화 되어 있습니다.
SConfig에도 자동 업데이트로 설정 되어 있습니다.
power shell에서 레지스트리 값을 변경해 봅니다.
커맨드 실행 후 레지스트리 확인
AUOptions와 NoAutoUpdate가 같이 등록 되었구요
Local Group Policy도 확인
Local Group Policy는 그대로 설정안됨 상태로 표시되어 있습니다.
(혹시나 해서 gpupdate, reboot 도 해봤지만 설정됨 상태로 변경되지는 않았습니다.)
SConfig 확인
SConfig은 레지스트리에서 수정된 내용이 반영되어 있습니다.
반응형
LIST
'IT > 개발환경' 카테고리의 다른 글
Teamcity Agent SSD 추가 장착 후 조치 (0) | 2023.05.19 |
---|---|
OSX Codesign with PowerShell (0) | 2023.05.18 |
리눅스 디스크 (4/4) - Raid 0 구성 (0) | 2023.05.16 |
리눅스 디스크 (3/4) - 디스크 불륨 확장 VM Extension 사용 (0) | 2023.05.16 |
리눅스 디스크 (2/4) - 디스크 볼륨 확장 (0) | 2023.05.16 |