Import-Datei für die AutoConnect-Tabelle Map Additional Printers generieren

97 views 0

#####  ThinPrint-Management-Services-Skript zum Generieren oder Ergänzen einer CSV-Datei für die Map-Additional-Printers-Tabelle (MAP) von AutoConnect #####

# In diesem Beispiel wird die Druckerliste von einem einzigen ThinPrint Client eingelesen.







#####  Geben Sie Werte für die Variablen $csvpath, $targetserver, $agentfqdn und $clientname ein sowie optional für $mapfilter und $iprange oder $ipaddress  #####

$csvpath = "C:\MAP\MAP.csv"   # Pfad zur CSV-Datei von Map Additional Printers, z. B. "C:\temp\MAP.csv"

$targetserver = "tpms003"   # Adresse des zentralen Druckservers, z. B. "CPS003" oder "192.168.130.1"

$agentfqdn = "tpms003.ourdomain.local" # FQDN des Rechners, auf dem der Tpms.Agent läuft, z. B. "CPS003.ourdomain.local"

$mapfilter = 3   # Filter-Regeln:

                 #   0 = * eintragen in die Spalten User/Group, IP Range und Client Name

                 #   1 = IP-Bereich des Clients in die Spalte IP Range eintragen (spezifiziert mit $iprange)

                 #   2 = IP-Adresse des Clients in die Spalte IP-Range eintragen (spezifiziert mit $ipaddress)

                 #   3 = Hostname des Clients in die Spalte Client Name eintragen (spezifiziert mit $clientname)

$iprange = "192.168.149.0/24"   # Eintrag für den IP-Bereich in der Spalte IP Range, z. B. "192.168.130.0/24", wird in MAP verwenden, wenn $mapfilter = 1

$ipaddress = "192.168.149.17"   # Eintrag einer einzelnen IP-Adresse in der Spalte IP Range, z. B. "192.168.130.35", wird in MAP verwendet, wenn $mapfilter = 2

$clientname = "client701"   # Adresse zum Einlesen der Druckerliste vom ThinPrint Client ...

                 # ... sowie Eintrag des Hostnames in der Spalte Client Name, z. B. "LPS025", wird in MAP verwendet, wenn $mapfilter = 3







#####  Druckerlist vom ThinPrint Client einlesen #####

$client = New-TpmsObjTpClient -Name $clientname -Port 4000   # spezifiziert die Adresse des ThinPrint Clients inkl. TCP-Port

$srva = New-TpmsObjQueryAgent -Name $agentfqdn -Port 5050 -ClientQueries ($client)   # spezifiziert die Adresse des Tpms.Agents inkl. TCP-Port

$clientprinters = Start-TpmsQueryByAgent -Servers ($srva) | Format-TpmsDispatch   # liest die Druckerliste vom ThinPrint Client

$clientprinters   # zeigt die Druckerliste des Clients an

    

    

##### CSV-Datei für Map Additional Printers vorbereiten #####

   If( [system.io.file]::Exists($csvpath) -eq $True)   # prüft, ob die CSV-Datei bereits existiert

      {

      $mapold = Get-Content $csvpath -readcount 0   # liest eine bereits existierende CSV-Datei

      Set-Content $csvpath -value $mapold   # Fügt nach "¶" einen Zeilenumbruch ein

      }

   Else

      {

      Add-Content -path $csvpath -value "DefaultPrinter,UserGroup,IPRange,ClientName,Destination"   # schreibt den Tabellenkopf, falls die Datei noch nicht existiert hat

      }




      

#####  Druckerliste vom ThinPrint Client einlesen und CSV-Datei von Map Additional Printers ergänzen #####

$clientprinters | foreach {

   If ($_ -is [ThinPrint.Tpms.Common.TpSrcPrn])

      {

      If ($mapfilter -eq 3)   # prüft, ob $mapfilter = 3 ist

         {

         $mapnew = ([string]::Format("True,*,*,{0},\\{1}\{2}", $clientname,$targetserver,$_.Name))   # setzt die Zeilenstruktur mit Clientnamen

         }

      If ($mapfilter -eq 2)   # prüft, ob $mapfilter = 2 ist

         {

         $mapnew = ([string]::Format("True,*,{0},*,\\{1}\{2}", $ipaddress,$targetserver,$_.Name))   # setzt die Zeilenstruktur mit IP-Adresse

         }

      If ($mapfilter -eq 1)   # prüft, ob $mapfilter = 1 ist

         {

         $mapnew = ([string]::Format("True,*,{0},*,\\{1}\{2}", $iprange,$targetserver,$_.Name))   # setzt die Zeilenstruktur mit IP-Bereich

         }      

      If ($mapfilter -eq 0)   # prüft, ob $mapfilter = 0 ist

         {

         $mapnew = ([string]::Format("True,*,*,*,\\{0}\{1}", $targetserver,$_.Name))   # setzt die Zeilenstruktur auf *

         }

      Add-Content $csvpath -Value $mapnew   # schreibt die Tabellenzeilen

      }   

   }
Previous Page
Next Page

War dies hilfreich?