The reconstructed evaluation script behind this rule's OVAL check(s) — every module a compound check combines, with this rule's own concrete values and DISA's SCC tool's real per-module mechanism curated from static teardown of SCC releases.
# Windows PowerShell
# Reconstructed from oval:mil.disa.stig.windows11:def:253477
# Toast notifications to the lock screen must be turned off.
# Per-module read mechanism curated from static teardown of DISA's SCC tool
# (SCAP Compliance Checker) -- see the SCC Automation Reference above.
#
# MANUAL REVIEW REQUIRED -- the module(s) below could not be reconstructed
# into working code from curated SCC reference data, and are excluded from
# the automated result:
# - ntuser_object (ntuser_test) -- 'Turn off toast notifications on the lock screen' is set to 'Enabled'.: no extractor for field "type"
# For the current user, 'Turn off toast notifications on the lock screen' is set to 'Enabled'.
# registry_object (registry_test)
function test_2 {
return (((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications').GetValueKind('NoToastApplicationNotificationOnLockScreen').ToString()]) -eq 'reg_dword') -and (((Get-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications' -Name 'NoToastApplicationNotificationOnLockScreen' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty 'NoToastApplicationNotificationOnLockScreen') -eq 1))
}
if (test_2) {
Write-Output "PASS (automated portion only -- MANUAL REVIEW still required, see notes above)"
} else {
Write-Output "FAIL (or see MANUAL REVIEW note above)"
} Assessment Script Powered by AISyntax-verified
A standalone PowerShell script to assess this control automatically. Review before running it in your environment.
Syntax-checked as valid PowerShell. Not executed here — running it for real needs the actual ms_windows_11 target this check assesses.
# oval:mil.disa.stig.windows11:def:253477
$compliant = $true
$users = Get-CimInstance -ClassName Win32_UserProfile | Where-Object { $_.LocalPath -and $_.Special -eq $false }
foreach ($user in $users) {
$path = $user.LocalPath.Substring(0, $user.LocalPath.LastIndexOf('\') + 1)
$regPath = "$path\NTUSER.DAT"
if (Test-Path $regPath) {
$regHive = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('Users', $regPath)
$regKey = $regHive.OpenSubKey('Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications')
if ($regKey -eq $null) {
$compliant = $false
} else {
$value = $regKey.GetValue('NoToastApplicationNotificationOnLockScreen')
if ($value -eq $null -or $value -ne 1) {
$compliant = $false
}
}
$regHive.Close()
}
}
if ($compliant) { Write-Output "PASS"; exit 0 } else { Write-Output "FAIL"; exit 1 }