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, 12279 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Batch & Shell
gelöst PowerShell: Spalten tauschen und neue Spalten in CSV datei erzeugen (17)

Frage von Rippchen zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...