Advertisement
Guest User

How to Add Printers with PowerShell

a guest
Jul 24th, 2014
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ####################################################
  2. #  Change these values to the appropriate values in your environment.
  3. $PrinterIP = "10.10.10.10"
  4. $PrinterPort = "9100"
  5. $PrinterPortName = "IP_" + $PrinterIP
  6. $DriverName = "KONICA MINOLTA bizhub C35P PS"
  7. $DriverPath = "\\UNC_Path\To\My\Drivers"
  8. $DriverInf = "\\UNC_Path\To\My\Drivers\KOBJQA__.inf"
  9. $PrinterCaption = "Konica Minolta C35P"
  10. ####################################################
  11. ### ComputerList Option 1 ###
  12. # $ComputerList = @("lana", "lisaburger")
  13.  
  14. ### ComputerList Option 2 ###
  15. # $ComputerList = @()
  16.  
  17. # Import-Csv "C:\Software\Scripts\Powershell\ComputersThatNeedPrinters.csv" | % {$ComputerList += $_.Computer}
  18.  
  19. Function InstallPrinterDriver {
  20. Param ($DriverName, $DriverPath, $DriverInf, $ComputerName)
  21. $wmi = [wmiclass]"\\$ComputerName\Root\cimv2:Win32_PrinterDriver"
  22. $wmi.psbase.scope.options.enablePrivileges = $true
  23. $wmi.psbase.Scope.Options.Impersonation = [System.Management.ImpersonationLevel]::Impersonate
  24. $Driver = $wmi.CreateInstance()
  25. $Driver.Name = $DriverName
  26. $Driver.DriverPath = $DriverPath
  27. $Driver.InfName = $DriverInf
  28. $wmi.AddPrinterDriver($Driver)
  29. $wmi.Put()
  30. }
  31.  
  32. Function CreatePrinter {
  33. param ($PrinterCaption, $PrinterPortName, $DriverName, $ComputerName)
  34. $Printer = ([WMIClass]"\\$ComputerName\Root\cimv2:Win32_Printer").CreateInstance()
  35. $Printer.Caption = $PrinterCaption
  36. $Printer.DriverName = $DriverName
  37. $Printer.PortName = $PrinterPortName
  38. $Printer.DeviceID = $PrinterCaption
  39. $Printer.Put()
  40. }
  41. foreach ($computer in $ComputerList) {
  42. CreatePrinterPort -PrinterIP $PrinterIP -PrinterPort $PrinterPort -PrinterPortName $PrinterPortName -ComputerName $computerInstallPrinterDriver -DriverName $DriverName -DriverPath $DriverPath -DriverInf $DriverInf -ComputerName $computerCreatePrinter -PrinterPortName $PrinterPortName -DriverName $DriverName -PrinterCaption $PrinterCaption -ComputerName $computer
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement