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
Please also mark the comments that contributed to the solution of the article
Content-Key: 274677
Url: https://administrator.de/contentid/274677
Printed on: April 27, 2024 at 02:04 o'clock
2 Comments
Latest comment
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