Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 12970 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
gelöst PowerShell Inhalt einer csv Datei löschen (4)

Frage von makaroni zum Thema Windows Server ...

Batch & Shell
CSV zu XML Probleme mit PowerShell (7)

Frage von comtel zum Thema Batch & Shell ...

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 ...

Neue Wissensbeiträge
Windows 10

Erneutes Starten eines Programmes mit Admin-Rechten

Tipp von Estefania zum Thema Windows 10 ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(3)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...