IP-Drucker installieren
In diesem Video zeigen wir dir, wie du IP-Drucker und deren Treiber mittels Intune installieren kannst - ohne den Einsatz von Universal Print oder anderen Cloud-Print-Lösungen.
Für den Installations- und Deinstallationsprozess wird jeweils ein Script bereitgestellt. Diese sind so konzipiert, dass sie universell einsetzbar sind und nicht für jeden Drucker individuell angepasst werden müssen. Die notwendigen Parameter wie die IP-Adresse oder der Treibername werden in Intune spezifiziert.
Benötigst du Unterstützung?
Melde dich bei uns!
Hier findest du die im Video genutzten Scripte.
Install-IPPrinter.ps1
Dieses Script steuert die gesamte Installation. Es beginnt mit der Treiberinstallation und überprüft, ob ein Druckerport mit der angegebenen IP bereits existiert. Danach stellt es sicher, dass der Treiber erfolgreich installiert wurde, bevor der Drucker verbunden wird.
Kopiere das Script und speichere es als “Install-IPPrinter.ps1” ab.
<#
.SYNOPSIS
Installation von IP-Druckern
.DESCRIPTION
Dieses Script dient der Installation von IP-Druckern und zugehöriger Treiber.
Das Script ist zur Paketierung mittels IntuneWinAppUtil gedacht.
Innerhalb des Pakets muss ein Unterordner namens "Drivers" existieren, welcher die
benötigten Treiber enthält (.inf, .cat und .cab).
---
Installationsbefehl in Intune (Parameter entsprechend befüllen):
%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File Install-IPPrinter.ps1 -PortIPAddress "" -PrinterName "" -DriverName "" -DriverInfFileName ".inf"
---
Registry-Pfad für Detection Rule:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\DRUCKERNAME
.EXAMPLE
Install-IPPrinter.ps1 -PortIPAddress "192.168.1.10" -PrinterName "Drucker 1. OG" -DriverName "HP Universal Printing PCL 6" -DriverInfFileName "hpcu255u.inf"
.PARAMETER PortIPAddress
Die IP-Adresse des Druckers.
.PARAMETER PrinterName
Der Name, unter welchem der Drucker eingebunden werden soll.
.PARAMETER DriverName
Der exakte Name des Treibers. Dieser ist aus der .inf-Datei ersichtlich (im Texteditor öffnen).
.PARAMETER DriverInfFileName
Der Name der .inf-Datei inklusive Dateiendung, z.B. "hpcu255u.inf".
.NOTES
Version: 1.0
Author: Raphael Baud
Creation Date: 2023-02-22
Purpose/Change: Creation
#>
#################
#---Parameter---#
#################
Param(
[Parameter(Mandatory=$True)]
[string]$PortIPAddress,
[Parameter(Mandatory=$True)]
[string]$PrinterName,
[Parameter(Mandatory=$True)]
[string]$DriverName,
[Parameter(Mandatory=$True)]
[string]$DriverInfFileName
)
#################
#---Execution---#
#################
#Pfad definieren
$PSScriptRoot = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition
#PortName definieren
$PortName = "IP_$PortIPAddress"
#Treiber stagen
pnputil /add-driver "$PSScriptRoot\Drivers\$DriverInfFileName" /install
#Treiber installieren
Add-PrinterDriver -Name $DriverName
#Druckerport installieren, wenn noch nicht vorhanden
if(-not (Get-PrinterPort -Name $PortName -ErrorAction SilentlyContinue)) {
Add-PrinterPort -Name $PortName -PrinterHostAddress $PortIPAddress
}
#Drucker verbinden, wenn Treiber erfolgreich installiert wurde
if((Get-PrinterDriver -Name $DriverName -ErrorAction SilentlyContinue)) {
Add-Printer -Name $PrinterName -PortName $PortName -DriverName $DriverName
} else {
Write-Warning "Treiber nicht installiert"
exit 1
}
#nach der Installation etwas abwarten, um das Detection Script zu verzögern
Start-Sleep -Seconds 180
Remove-IPPrinter.ps1
Dieses Script ist deutlich simpler. Es entfernt bei Ausführung den Drucker und den zugehörigen Port auf Basis des Druckernamens und der IP-Adresse.
Kopiere das Script und speichere es als “Remove-IPPrinter.ps1” ab.
<#
.SYNOPSIS
Deinstallation von IP-Druckern
.DESCRIPTION
Dieses Script dient der Entfernung von IP-Druckern, die über das Script
"Install-IPPrinter.ps1" installiert wurden.
---
Installationsbefehl in Intune (Parameter entsprechend befüllen):
%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File Remove-IPPrinter.ps1 -PortIPAddress "" -PrinterName ""
.EXAMPLE
Remove-IPPrinter.ps1 -PortIPAddress "192.168.1.10" -PrinterName "Drucker 1. OG"
.PARAMETER PortIPAddress
Die IP-Adresse des Druckers.
.PARAMETER PrinterName
Der Name des zu entfernenden Druckers.
.NOTES
Version: 1.0
Author: Raphael Baud
Creation Date: 2023-02-22
Purpose/Change: Creation
#>
#################
#---Parameter---#
#################
Param(
[Parameter(Mandatory=$True)]
[string]$PortIPAddress,
[Parameter(Mandatory=$True)]
[string]$PrinterName
)
#################
#---Execution---#
#################
#Drucker entfernen
Remove-Printer $PrinterName
#abwarten, bevor der Port entfernt wird
Start-Sleep -Seconds 180
#Port entfernen
Remove-PrinterPort -Name "IP_$PortIPAddress"