PoshCode Archive  Artifact [ccec99b7e5]

Artifact ccec99b7e5098b12332f8228f458b6c1dc9f33fada0907962880644f1a618eaf:

  • File Bulk-Importing-Printers.ps1 — part of check-in [43f5abc691] at 2018-06-10 13:55:25 on branch trunk — Migrating Printers from 2003 to 2008 (user: Wesley K size: 1528)

# encoding: ascii
# api: powershell
# title: Bulk Importing Printers
# description: Migrating Printers from 2003 to 2008
# version: 0.1
# type: function
# author: Wesley K
# license: CC0
# x-poshcode-id: 5451
# x-archived: 2015-10-31T01:21:33
# x-published: 2015-09-19T02:18:00
#
#
add-bulk-printers.ps1
$printers = import-csv "C:\temp\printers.csv"
$newprintserver = "fdqn"

function CreatePrinterPort 
    {
        $server = $args[0] 
        $port = ([WMICLASS]"\\$newprintserver\ROOT\cimv2:Win32_TCPIPPrinterPort").createInstance()
        $port.Name = $args[1]
        $port.SNMPEnabled = $false
        $port.Protocol = 1 
        $port.HostAddress = $args[2]
        $port.Put() 
    }

foreach ($printer in $printers)
    {
        CreatePrinterPort $printer.Printserver $printer.Portname $printer.IPAddress
        Add-Printer -Name $printer.Printername -ShareName $printer.Sharename -computername $newprintserver -drivername $printer.Driver -PortName $printer.Portname -Location $printer.Location -Comment $printer.Comment -Published:$false -Shared:$True
        write-host -ForegroundColor White $printer.Printername "has been added to $newprintserver"  
    }

export-printers.ps1
$printserver = "fqdn" 
Get-WMIObject -class Win32_Printer -computer $printserver | Select Name,DriverName,PortName,ShareName,Comment | Export-CSV -path 'C:\temp\printers.csv' -NoTypeInformation

CSV Required Headers
Printserver,Driver,PortName,IPAddress,Sharename,Location,Comment,Printername