Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Netzwerkdrucker und Anschlüsse per Powershell aus CSV Datei

Frage Microsoft Windows Server

Mitglied: MavRaven

MavRaven (Level 1) - Jetzt verbinden

17.06.2011 um 11:14 Uhr, 12875 Aufrufe, 3 Kommentare

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:

01.
 
02.
$dataSource=import-csv "Drucker.csv" 
03.
foreach($dataRecord in $dataSource) { 
04.
        $auftrag=$dataRecord.auftrag 
05.
         
06.
        switch ($auftrag) { 
07.
         
08.
                Drucker_installieren { 
09.
                 #map variables to data source 
10.
                 $Druckername=$dataRecord.Hostname 
11.
                 $Druckertreiber=$dataRecord.Treiber 
12.
                 $Druckeranschluss=$dataRecord.Anschluss 
13.
                 $Freigabename=$dataRecord.Freigabe 
14.
                  
15.
                  
16.
                    Write-Output "Drucker erstellen" 
17.
                    $printer=([WMICLASS]"\\.\ROOT\cimv2:Win32_Printer").createInstance() 
18.
                    $printer.Name="$Druckername" 
19.
                    $printer.DriverName="$Druckertreiber" 
20.
                    $printer.DeviceID="$Druckername" 
21.
                    $printer.Portname="$Druckeranschluss" 
22.
                    $printer.Shared=$true 
23.
                    $printer.Sharename="$Freigabename" 
24.
                    $printer.Put() 
25.
                     
26.
27.
                     
28.
                     
29.
                 Druckeranschluss_anlegen { 
30.
                   #map variables to data source 
31.
                   $Anschlussbezeichnung=$dataRecord.Anschlussname 
32.
                   $IP_Adresse=$dataRecord.IPAdresse 
33.
                    
34.
                     Write-Output "Erstelle Druckeranschluss "$Anschlussbezeichnung"" 
35.
                     $port=([WMICLASS]"\\.\ROOT\cimv2:Win32_TCPIPPrinterPort").createInstance() 
36.
                     $port.Name=$Anschlussbezeichnung 
37.
                     $port.SNMPEnabled=$false 
38.
                     $port.Protocol=1 
39.
                     $port.Hostaddress=$IP_Adresse 
40.
                     $port.Put() 
41.
42.
                      
43.
44.
            
45.
    }
danke

Gruß Markus
Mitglied: MavRaven
23.08.2011 um 11:25 Uhr
Falls es jemanden interessiert habe das Problem selbst lösen können und das Script nochmal anders aufgezogen hier für alle Interessierten das Endprodukt:

01.
Import-Csv "printers.csv" -Delimiter ";" | foreach { 
02.
Write-Output "Write-Output `"Creating printer ```"$($_.PrinterName)```"`"" 
03.
$printer =([WMICLASS]"\\.\ROOT\cimv2:Win32_Printer").createInstance() 
04.
$printer.Name="$($_.PrinterName)" 
05.
$printer.DriverName="$($_.Driver)" 
06.
$printer.DeviceID="$($_.PrinterName)" 
07.
$printer.PortName="$($_.PrinterPort)" 
08.
$printer.Shared=$true 
09.
$printer.ShareName="$($_.PrinterName)" 
10.
$printer.Put() 
11.
"" 
12.
} 
Bitte warten ..
Mitglied: ottl05
30.11.2011 um 10:18 Uhr
und mit diesem Script wird der TCP/IP-Port auch gleich erstellt?

Die CSV sollte also folgendermaßen aussehen?:
PrinterName;PrinterPort;Driver
Bitte warten ..
Mitglied: MavRaven
30.11.2011 um 12:13 Uhr
Hi,

der Printerport wird nicht mit erstellt diese habe ich in meinem Fall vom alten Printserver nur importiert.

dafür brauchst du ein zweites Script da der Printerport bzw Anschluss über eine andere WMI Klasse erstellt wird als der Drucker selbst.

Ich hab das ganze noch irgendwo liegen ich werd mal schauen das ich es finde und gleich posten.
Bitte warten ..
Ähnliche Inhalte
Windows Server
PowerShell Inhalt einer csv Datei löschen (4)

Frage von makaroni zum Thema Windows Server ...

XML
gelöst Xml-Datei in eine csv-Datei umwandeln mit Powershell (5)

Frage von jan.kleinel zum Thema XML ...

Batch & Shell
gelöst Powershell xml zu csv (2)

Frage von GeoSem zum Thema Batch & Shell ...

Microsoft
gelöst PowerShell: CSV in CSV kopieren (3)

Frage von Pludan zum Thema Microsoft ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...