Add Printer wizard - Network scan page (Unmanaged network)
Verified with Windows 11 25H2 — updated on July 30, 2026
Supported on: At least Windows Vista
Path in the GPO console
Computer Configuration\Administrative Templates\Printers Description
This policy sets the maximum number of printers (of each type) that the Add Printer wizard will display on a computer on an unmanaged network (when the computer is not able to reach a domain controller, e.g. a domain-joined laptop on a home network.) If this setting is disabled, the network scan page will not be displayed. If this setting is not configured, the Add Printer wizard will display the default number of printers of each type: TCP/IP printers: 50 Web Services printers: 50 Bluetooth printers: 10 Shared printers: 50 If you would like to not display printers of a certain type, enable this policy and set the number of printers to display to 0. In Windows 10 and later, only TCP/IP printers can be shown in the wizard. If you enable this policy setting, only TCP/IP printer limits are applicable. On Windows 10 only, if you disable or do not configure this policy setting, the default limit is applied. In Windows 8 and later, Bluetooth printers are not shown so its limit does not apply to those versions of Windows.
Registry
Software\Policies\Microsoft\Windows NT\Printers\Wizard Value name: NonDomainDisplayPrinters_State
Enabled: NonDomainDisplayPrinters_State = 2
Disabled: NonDomainDisplayPrinters_State = 1
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_Printing/NonDomainPrinters Microsoft Learn documentation Mapping data: Microsoft Learn (CC BY 4.0)
Export Builder
BETAConfigure the state, scope and options, then generate .reg, PowerShell, Intune and SCCM outputs — or add the setting to a multi-setting collection.
These exports write the registry — this is not a managed GPO. ⓘ
.reg file
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Add Printer wizard - Network scan page (Unmanaged network)
; State: Enabled
; Supported on: At least Windows Vista
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\Wizard]
"NonDomainDisplayPrinters_State"=dword:00000002
"NonDomainIPprinters"=dword:00000032
"NonDomainWSDprinters"=dword:00000032
"NonDomainBluetoothprinters"=dword:0000000a
"NonDomainShareprinters"=dword:00000032 More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Unmanaged network)
# State: Enabled
# Supported on: At least Windows Vista
$path = 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'NonDomainDisplayPrinters_State' -Value 2 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainIPprinters' -Value 50 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainWSDprinters' -Value 50 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainBluetoothprinters' -Value 10 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainShareprinters' -Value 50 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_Printing/NonDomainPrinters
Data type: String
Value:
<enabled/>
<data id="IPprinters" value="50"/>
<data id="WSDprinters" value="50"/>
<data id="Bluetoothprinters" value="10"/>
<data id="Shareprinters" value="50"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Unmanaged network)
# State: Enabled
# Supported on: At least Windows Vista
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainDisplayPrinters_State' -Expected 2 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainIPprinters' -Expected 50 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainWSDprinters' -Expected 50 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainBluetoothprinters' -Expected 10 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainShareprinters' -Expected 50 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Unmanaged network)
# State: Enabled
# Supported on: At least Windows Vista
$path = 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'NonDomainDisplayPrinters_State' -Value 2 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainIPprinters' -Value 50 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainWSDprinters' -Value 50 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainBluetoothprinters' -Value 10 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainShareprinters' -Value 50 -Type DWord SCCM scripts
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Unmanaged network)
# State: Enabled
# Supported on: At least Windows Vista
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Unmanaged network)
# State: Enabled
# Supported on: At least Windows Vista
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainDisplayPrinters_State' -Expected 2 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainIPprinters' -Expected 50 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainWSDprinters' -Expected 50 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainBluetoothprinters' -Expected 10 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'NonDomainShareprinters' -Expected 50 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Unmanaged network)
# State: Enabled
# Supported on: At least Windows Vista
$path = 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'NonDomainDisplayPrinters_State' -Value 2 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainIPprinters' -Value 50 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainWSDprinters' -Value 50 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainBluetoothprinters' -Value 10 -Type DWord
Set-ItemProperty -Path $path -Name 'NonDomainShareprinters' -Value 50 -Type DWord Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.