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, 12557 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
Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Batch & Shell
gelöst AD-Felder für User mittels Powershell befüllen aus CSV-Datei (2)

Frage von Alex94G zum Thema Batch & Shell ...

Datenbanken
Access 2016 vertauscht Monat und Tag in meiner CSV Datei (1)

Frage von iGordon zum Thema Datenbanken ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...