Monitor
$RegistryPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
$RegistryPath1 = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
$RegistryPath2 = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate'
$Name = 'NoAutoUpdate'
$Name1 = 'AUOptions'
$Name2 = 'DisableDualScan'
$value = $(Get-ItemProperty $RegistryPath -Name $Name -ErrorAction SilentlyContinue ).$Name
$value1 = $(Get-ItemProperty $RegistryPath1 -Name $Name1 -ErrorAction SilentlyContinue ).$Name1
$value2 = $(Get-ItemProperty $RegistryPath2 -Name $Name2 -ErrorAction SilentlyContinue ).$Name2
If ($value -eq 0 -or $value1 -eq 'AUOptions' -or $value2 -eq 0)
{Write-Host "Non-Compliant"}
Else
{Write-Host "Compliant"}
Remediation
$RegistryPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
$RegistryPath1 = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
$RegistryPath2 = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\'
$Name = 'NoAutoUpdate'
$Name1 = 'AUOptions'
$Name2 = 'DisableDualScan'
$value = $(Get-ItemProperty $RegistryPath -Name $Name -ErrorAction SilentlyContinue ).$Name
$value1 = $(Get-ItemProperty $RegistryPath1 -Name $Name1 -ErrorAction SilentlyContinue ).$Name1
$value2 = $(Get-ItemProperty $RegistryPath2 -Name $Name2 -ErrorAction SilentlyContinue ).$Name2
If ($value -eq 0)
{
New-ItemProperty -Force -Path $RegistryPath -Name $Name -Value '1' -PropertyType "DWord"
}
If ($value1 -ne 'AUOptions')
{
Remove-ItemProperty -Path $RegistryPath1 -Name $Name1 -Force -Confirm:$false
}
If ($value2 -eq 0)
{
New-ItemProperty -Force -Path $RegistryPath2 -Name $Name2 -Value '1' -PropertyType "DWord"
}
No comments:
Post a Comment