You are on page 1of 1

$Computer = Read-Host "List All Installed Printers Including Default`r`nEnter

Computer Name"

## Get Installed Printers:


#Local:
$Printers = @(Get-WmiObject win32_printer -computername $Computer | Select Name)

#Network:
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('currentuser', $Computer)
$RegKey= $Reg.OpenSubKey('Printers\Settings')
$Printers += @($RegKey.GetValueNames())

## Output List of Printers


Write-Output $Printers | Sort Name | ft -Property @{Name="$Computer Installed
Printers";Expression={$_.Name}} -AutoSize

## Get Default Printer


$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('currentuser', $Computer)
$RegKey= $Reg.OpenSubKey('Software\Microsoft\Windows NT\CurrentVersion\Windows')
$DefaultPrinter = $RegKey.GetValue("Device")

## Output the Default Printer


Write-Output $DefaultPrinter | ConvertFrom-Csv -Header Name, Provider, Order|
Select Name | ft -Property @{Name="$Computer Default Printer
Name";Expression={$_.Name}} -AutoSize

You might also like