Netzwerkdrucker und Anschlüsse per Powershell aus CSV Datei
Ich möchte mehrere Netzwerkdrucker per Powershell Script erstellen anstatt immer wieder den manuellen Weg über die GUI zu gehen.
Ich bin momentan dabei einen 2003 Printserver nach 2008 R2 überzuführen, migrieren wollten wir allerdings nicht, sondern das ganze von Grund auf neu gestalten.
Die Idee war nun die Druckeranschlüsse bzw die Drucker selbst per Powershell zu erstellen und freizugeben, ich hab dann auch schon etwas recherschiert und ein kleines Script zusammengebastelt. Dieses gibt mir auch keine Fehlermeldung an, jedoch wird der Testdrucker den ich in die CSV Datei die ausgelesen wird eingetragen habe dennoch nicht erstellt, ich vermute mal ich habe ein Problem mit den Variablen die ich den Datensätzen aus der CSV Datei zuordne ?
Würde mich freuen wenn mir jemand einen kleinen Tritt geben bzw Hilfe leisten könnte
Hier also mein Script:
danke
Gruß Markus
Ich bin momentan dabei einen 2003 Printserver nach 2008 R2 überzuführen, migrieren wollten wir allerdings nicht, sondern das ganze von Grund auf neu gestalten.
Die Idee war nun die Druckeranschlüsse bzw die Drucker selbst per Powershell zu erstellen und freizugeben, ich hab dann auch schon etwas recherschiert und ein kleines Script zusammengebastelt. Dieses gibt mir auch keine Fehlermeldung an, jedoch wird der Testdrucker den ich in die CSV Datei die ausgelesen wird eingetragen habe dennoch nicht erstellt, ich vermute mal ich habe ein Problem mit den Variablen die ich den Datensätzen aus der CSV Datei zuordne ?
Würde mich freuen wenn mir jemand einen kleinen Tritt geben bzw Hilfe leisten könnte
Hier also mein Script:
$dataSource=import-csv "Drucker.csv"
foreach($dataRecord in $dataSource) {
$auftrag=$dataRecord.auftrag
switch ($auftrag) {
Drucker_installieren {
#map variables to data source
$Druckername=$dataRecord.Hostname
$Druckertreiber=$dataRecord.Treiber
$Druckeranschluss=$dataRecord.Anschluss
$Freigabename=$dataRecord.Freigabe
Write-Output "Drucker erstellen"
$printer=([WMICLASS]"\\.\ROOT\cimv2:Win32_Printer").createInstance()
$printer.Name="$Druckername"
$printer.DriverName="$Druckertreiber"
$printer.DeviceID="$Druckername"
$printer.Portname="$Druckeranschluss"
$printer.Shared=$true
$printer.Sharename="$Freigabename"
$printer.Put()
}
Druckeranschluss_anlegen {
#map variables to data source
$Anschlussbezeichnung=$dataRecord.Anschlussname
$IP_Adresse=$dataRecord.IPAdresse
Write-Output "Erstelle Druckeranschluss "$Anschlussbezeichnung""
$port=([WMICLASS]"\\.\ROOT\cimv2:Win32_TCPIPPrinterPort").createInstance()
$port.Name=$Anschlussbezeichnung
$port.SNMPEnabled=$false
$port.Protocol=1
$port.Hostaddress=$IP_Adresse
$port.Put()
}
}
}
danke
Gruß Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 168189
Url: https://administrator.de/contentid/168189
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
3 Kommentare
Neuester Kommentar