New-TpmsObjPrinterTpog

7 views 0

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 installie­renden Drucker in einer Variablen vordefiniert.

Anschließend kann diese Modell verwendet werden, um den Zielrechner mit Hilfe von New-TpmsObjAp­plyAgent 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 befin­det, 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 TpmsTest­Port:, 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 Cli­ent 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

Previous Page
Next Page

War dies hilfreich?