Powershell Druckermapping via CSV - Erweiterung
Hallo zusammen,
ich hatte ein Skript gefunden für einen Client und habe so angepasst das es mir die SitzungsID ausliest und daraus dann den Clientnamen liest.
Wenn jetzt eine Übereinstimmung gefunden wird, dann wird der Drucker gemappt und als Standard gesetzt.
Ich möchte aber jetzt eventuell auch mehrere Drucker für einen Client zuweisen und entsprechend sollte dann ein true oder false beim Standarddrucker ausgewertet werden, da ich nur einen Standardrucker haben möchte.
Die CSV soll so aussehen
Kann mir da jemand helfen?
Gruß
Heiko
ich hatte ein Skript gefunden für einen Client und habe so angepasst das es mir die SitzungsID ausliest und daraus dann den Clientnamen liest.
Wenn jetzt eine Übereinstimmung gefunden wird, dann wird der Drucker gemappt und als Standard gesetzt.
Ich möchte aber jetzt eventuell auch mehrere Drucker für einen Client zuweisen und entsprechend sollte dann ein true oder false beim Standarddrucker ausgewertet werden, da ich nur einen Standardrucker haben möchte.
$SessionID=((qwinsta /server:$ServerName | foreach { (($_.trim() -replace “\s+”,”,”))} | ConvertFrom-Csv)|Where-Object {$_.SITZUNGSNAME.StartsWith(">")}).id
$client = Get-ItemProperty "HKCU:\Volatile Environment\$SessionID" | Select-Object -ExpandProperty CLIENTNAME
$printers = Import-CSV "\\s113\AUDIT\drucker\Druckermapping.csv" -Delimiter ";"
$net = New-Object -COMObject WScript.Network
$printers | Where-Object {$_.'CLIENT' -eq $client} |
ForEach{$net.AddWindowsPrinterConnection($_.'PrinterLocation');$net.SetDefaultPrinter($_.'PrinterLocation')}
Die CSV soll so aussehen
CLIENT;PrinterLocation;Standard
R1234;\\server\freigabe;true
Kann mir da jemand helfen?
Gruß
Heiko
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 274677
Url: https://administrator.de/forum/powershell-druckermapping-via-csv-erweiterung-274677.html
Ausgedruckt am: 09.04.2025 um 05:04 Uhr
2 Kommentare
Neuester Kommentar

Moin,
naja, wie wär's mit einer IF-Abfrage in Zeile 6 ...
immer diese Jäger und Scriptsammler ...
Gruß jodel32
naja, wie wär's mit einer IF-Abfrage in Zeile 6 ...
%{
$net.AddWindowsPrinterConnection($_.PrinterLocation)
if($_.Standard -eq "true"){
$net.SetDefaultPrinter($_.PrinterLocation)
}
}
Gruß jodel32