Powershell - Masseninstallation von Druckern auf Printserver:
In einer CSV-Datei werden in einer Tabelle die entsprechenden Angaben für die Drucker eingepflegt.
Form:
Printserver,Driver,Portname,IPAddress,Sharename,Location,Comment,Printername
Im Anschluss wird dann folgendes Powershell-Script ausgeführt:
#region# Variablendefinition$printers = Import-Csv C:\001-Scripts\printers.csv## Drucker anlegen# Write-Host "Anlegen der Drucker" -ForegroundColor Yellow#function CreatePrinter {$server = $args[0]$print = ([WMICLASS]"\\$server\ROOT\cimv2:Win32_Printer").createInstance() $print.drivername = $args[1]$print.PortName = $args[2]$print.Shared = $true$print.Sharename = $args[3]$print.Location = $args[4]$print.Comment = $args[5]$print.DeviceID = $args[6]$print.Put() }### Druckerport anlegenWrite-Host "Anlegen der Druckerport" -ForegroundColor Yellow#function CreatePrinterPort {$server = $args[0] $port = ([WMICLASS]"\\$server\ROOT\cimv2:Win32_TCPIPPrinterPort").createInstance() $port.Name= $args[1]$port.SNMPEnabled=$true $port.Protocol=1 $port.HostAddress= $args[2] $port.Put() }<## neue Variablen V.1.1 Hochzählen und Verlaufsanzeige# $count = $Printers.Count# $pos = 0#>foreach ($printer in $printers) {# write-progress -activity "Anlegen der Drucker" -status "% Complete" -percentcomplete (($pos++/$count)*100)CreatePrinterPort $printer.Printserver $printer.Portname $printer.IPAddressCreatePrinter $printer.Printserver $printer.Driver $printer.Portname $printer.Sharename $printer.Location $printer.Comment $printer.Printername}$PrinterGesamt = Get-Printer$AnzahlPrinter = $PrinterGesamt.CountWrite-Host "Anlegen von $AnzahlPrinter Druckern durchgeführt !!!" -ForegroundColor Yellow#endregion