Beispiel 1: Gebrauch des Cmdlets
Beispiel 2: Gebrauch des Cmdlets
Beispiel 3: Skript mit dem Cmdlet New-TpmsObjPrinterTpog
Beschreibung
Definiert ein Modell für Drucker, die das TP Output Gateway als Treiber verwenden (= Output-Gateway-Drucker). Das Modell stellt einen Container dar, der alle vom Tpms.Agent zu installierenden Drucker in einer Variablen vordefiniert.
Anschließend kann diese Modell verwendet werden, um den Zielrechner mit Hilfe von New-TpmsObjApplyAgent festzulegen und den Installationsprozess mit Start-TpmsApplyByAgent zu starten.
Voraussetzung
- ThinPrint Engine
Syntax
New-TpmsObjPrinterTpog -Name <string> -Port <string> [-Template <string>] [-NamePattern <TpogNamePattern>]
Parameter | Beschreibung |
-Name | Name des (anzulegenden) Druckers, Beispiele: Testdrucker oder "Lexmark T644#192.168.149.14:2" |
-Port | Name des (ThinPrint-)Drucker-Ports, Beispiele: Testport: oder "Test Port:" $port.name oder ($port.name) |
-Template | Output-Gateway-Druckerobjekt, von dem die spezifischen Treiber-Einstellungen auf den anzulegenden Drucker übertragen werden Befindet sich das Template auf einem entfernten Server, muss sein Name mit FQDN-Adresse angegeben werden. Beispiel: -Template “\\cps48.ourdomain.local\TPOG-01” Und der Dienst des Tpms.Agents, der die Drucker anlegt, muss mit einem Account laufen, der das Recht besitzt, auf die Freigabe des Templates, das sich auf dem entfernten Rechner befindet, zuzugreifen |
-NamePattern | Formatstring, verwendet Reguläre Ausdrücke |
Beispiel 1: Gebrauch des Cmdlets
New-TpmsObjPrinterTpog -Name "Lexmark T644#192.168.149.14:2" -Port ThinPort: -Template "\\cps48.ourdomain.local\TPOG-01" -NamePattern "%*[^#]#%[^:]:%s"
Definiert den Output-Gateway-Drucker Lexmark T644#192.168.149.14:2, verbindet ihn mit einem ThinPrint Port und weist das TP Output Gateway als Treiber zu. Die nativen Treiber-Einstellungen werden vom Template TPOG-01 auf einem entfernten Rechner auf den anzulegenden Drucker übertragen.
Beim Drucken sucht ThinPrint im Druckernamen (-Name) nach der Zieladresse mit Hilfe des Reguläre Ausdrucks des Parameters -NamePattern.
Beispiel 2: Gebrauch des Cmdlets
$printer = New-TpmsObjPrinterTpog -Name TpmsTestPrinter -Port TpmsTestPort:
Das Skript definiert den Output-Gateway-Drucker TpmsTestPrinter, verbindet ihn mit dem Port TpmsTestPort:, weist das TP Output Gateway als Treiber zu und schreibt diese Einstellungen in die Variable $printer. Zum Übertragen der nativen Treibereigenschaften werden die Einstellungen mit Hilfe von Add-TpmsClientInfo zugewiesen.
Siehe auch New-TpmsObjApplyAgent für die Verwendung der Variable $printer.
Beispiel 3: Skript mit dem Cmdlet New-TpmsObjPrinterTpog
Das folgende Skript legt so viele Drucker an, wie im ThinPrint Client auf client701 ausgewählt sind. Der Client ist in der Datei settings.csv definiert. Weiterhin werden die Treiber-Einstellungen von client701 auf die (neuen) Output-Gateway-Drucker mit Hilfe von Add-TpmsClientInfo übertragen. Mit Add-TpmsSharingInfo werden diese Drucker freigegeben.
- Die Definitionsdatei settings.csv:
"ServiceUri","AgentAddress","AgentPort","TpClientAddress","TpClientPort"
"https://tpms002.ourdomain.local:4040","tpms002.ourdomain.local",5050,client701,4000
- Das PowerShell-Skript:
$allports = @() $printers = @() $allprinters = @() Import-Csv -Path .\settings.csv | foreach { $clientaddr = $_.TpClientAddress $clientport = $_.TpClientPort $client = New-TpmsObjTpClient -Name ($clientaddr) -Port ($clientport) $srva = New-TpmsObjQueryAgent -Name $_.AgentAddress -Port $_.AgentPort -ClientQueries ($client) } $printerlists = Start-TpmsQueryByAgent -Servers ($srva) | Format-TpmsDispatch $portnum = 0 $printerlists | foreach { if ($_ -is [ThinPrint.Tpms.Common.TpSrcPrn]) { $printer = $_.Name $printerid = $_.Id $printers = New-TpmsObjPrinterTpog -Name ([string]::Format("{0}#{1}:{2}", $printer, $clientaddr, $printerid)) -Port ([string]::Format("ThinPrint{0:D3}:", $portnum)) -Template "TP Output Gateway color" Add-TpmsClientInfo -Printers ($printers) -Name ($clientaddr) -Port ($clientport) -PrinterId $_.Id Add-TpmsSharingInfo -Printers ($printers) -Name $_.Name -Mode Network $printers $allprinters += $printers $allports += New-TpmsObjTpPortTcp -TcpPort ($clientport) -Name ([string]::Format("ThinPrint{0:D3}:", $portnum)) $portnum += 1 } else { $_ } } Import-Csv -Path .\settings.csv | foreach { $srvb = New-TpmsObjApplyAgent -Name $_.AgentAddress -Port $_.AgentPort -Printers ($allprinters) -Ports ($allports) } Start-TpmsApplyByAgent -Action Deploy -Servers ($srvb) | Format-TpmsDispatch