Add Printer wizard - Network scan page (Managed 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
If you enable this policy setting, it sets the maximum number of printers (of each type) that the Add Printer wizard will display on a computer on a managed network (when the computer is able to reach a domain controller, e.g. a domain-joined laptop on a corporate network.) If this policy setting is disabled, the network scan page will not be displayed. If this policy setting is not configured, the Add Printer wizard will display the default number of printers of each type: Directory printers: 20 TCP/IP printers: 0 Web Services printers: 0 Bluetooth printers: 10 Shared printers: 0 In order to view available Web Services printers on your network, ensure that network discovery is turned on. To turn on network discovery, click "Start", click "Control Panel", and then click "Network and Internet". On the "Network and Internet" page, click "Network and Sharing Center". On the Network and Sharing Center page, click "Change advanced sharing settings". On the Advanced sharing settings page, click the arrow next to "Domain" arrow, click "turn on network discovery", and then click "Save changes". 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: DomainDisplayPrinters_State
Enabled: DomainDisplayPrinters_State = 2
Disabled: DomainDisplayPrinters_State = 1
MDM / Intune (CSP)
./Device/Vendor/MSFT/Policy/Config/ADMX_Printing/DomainPrinters 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 (Managed network)
; State: Enabled
; Supported on: At least Windows Vista
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\Wizard]
"DomainDisplayPrinters_State"=dword:00000002
"DomainADprinters"=dword:00000014
"DomainIPprinters"=dword:00000000
"DomainWSDprinters"=dword:00000000
"DomainBluetoothprinters"=dword:0000000a
"DomainShareprinters"=dword:00000000 More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Managed 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 'DomainDisplayPrinters_State' -Value 2 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainADprinters' -Value 20 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainIPprinters' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainWSDprinters' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainBluetoothprinters' -Value 10 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainShareprinters' -Value 0 -Type DWord Intune XML
OMA-URI: ./Device/Vendor/MSFT/Policy/Config/ADMX_Printing/DomainPrinters
Data type: String
Value:
<enabled/>
<data id="ADprinters" value="20"/>
<data id="IPprinters" value="0"/>
<data id="WSDprinters" value="0"/>
<data id="Bluetoothprinters" value="10"/>
<data id="Shareprinters" value="0"/> Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Managed 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 'DomainDisplayPrinters_State' -Expected 2 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainADprinters' -Expected 20 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainIPprinters' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainWSDprinters' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainBluetoothprinters' -Expected 10 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainShareprinters' -Expected 0 -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 (Managed 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 'DomainDisplayPrinters_State' -Value 2 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainADprinters' -Value 20 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainIPprinters' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainWSDprinters' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainBluetoothprinters' -Value 10 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainShareprinters' -Value 0 -Type DWord SCCM scripts
# Exported from gporais.com
# Policy: Add Printer wizard - Network scan page (Managed 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 (Managed 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 'DomainDisplayPrinters_State' -Expected 2 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainADprinters' -Expected 20 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainIPprinters' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainWSDprinters' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainBluetoothprinters' -Expected 10 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Printers\Wizard' -Name 'DomainShareprinters' -Expected 0 -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 (Managed 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 'DomainDisplayPrinters_State' -Value 2 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainADprinters' -Value 20 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainIPprinters' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainWSDprinters' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainBluetoothprinters' -Value 10 -Type DWord
Set-ItemProperty -Path $path -Name 'DomainShareprinters' -Value 0 -Type DWord Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.