Open navigation

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

#####  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 
      }    
   }

War diese Antwort hilfreich? Ja Nein

Feedback senden
Leider konnten wir nicht helfen. Helfen Sie uns mit Ihrem Feedback, diesen Artikel zu verbessern.