pozelei
Goto Top

Netzwerk Drucker mappen via PowerShell

Hallo zusammen,

ich habe folgende Frage.
Ich möchte anhand von PowerShell Script eine Abfrage starten die mir alle Netzwerkdrucker in unserer Domäne ausgibt.
Anschließend sollen die Drucker der richtigenn OU zugewiesen werden und dann auf den Clients per GPO verteilt werden per Anmeldeskript.

Könnt ihr mir hier weiterhelfen?

Grüße

Content-ID: 356007

Url: https://administrator.de/contentid/356007

Printed on: December 5, 2024 at 22:12 o'clock

134464
134464 Nov 24, 2017 updated at 11:33:49 (UTC)
Goto Top
ich möchte anhand von PowerShell Script eine Abfrage starten die mir alle Netzwerkdrucker in unserer Domäne ausgibt.
Get-AdObject -filter "objectCategory -eq 'printqueue'" -Prop * | select Name,serverName, @{n='ShareNames';e={$_.printShareName -join ';'}}  
Add-Printer
...
https://blogs.technet.microsoft.com/heyscriptingguy/2009/05/19/hey-scrip ...

usw.....

Freidach ist Joogle wohl wida offline ... eins, zwei Polizei, drei, vier hol mir Bier ...face-smile
Pozelei
Pozelei Nov 24, 2017 updated at 12:38:28 (UTC)
Goto Top
Get-AdObject -filter "objectCategory -eq 'printqueue'" -Prop * | select Name,serverName, @{n='ShareNames';e={$_.printShareName -join ';'}}

Das hat mir schon sehr geholfen. Vielen Dank EDIT: Es gibt mir nur die Drucker auf der 2003er Maschine aus. Wie kann ich mri die Drucker von der 2012 Maschine anzeigen lassen. Die wir dort freigegeben haben?

Ziel ist es alle Drucker die auf dem 2012-Server hinterlegt sind, für die Clients die in der gleichen OU wie der Server sind freizugeben.

Momentan habe ich folgendes gemacht:
$server = Get-Content "C:\Skripte\server.txt"  
Get-WmiObject -Class Win32_Printer -Computername $server | select Server, Sharename, Port

Das gibt mir alle Drucker aus die auf den 2012-Server hinterlegt sind. Wie kann ich das jetzt charmant in ein Script bauen, so dass Sie bei Anmeldung mit Benutzer xy und yz gezogen werden?

Grüße
134464
134464 Nov 24, 2017 updated at 13:20:18 (UTC)
Goto Top
Zitat von @Pozelei:

Get-AdObject -filter "objectCategory -eq 'printqueue'" -Prop * | select Name,serverName, @{n='ShareNames';e={$_.printShareName -join ';'}}

Das hat mir schon sehr geholfen. Vielen Dank EDIT: Es gibt mir nur die Drucker auf der 2003er Maschine aus. Wie kann ich mri die Drucker von der 2012 Maschine anzeigen lassen. Die wir dort freigegeben haben?
Obiger Schnippsel gibt alle Drucker aus die im AD veröffentlicht wurden!

Ziel ist es alle Drucker die auf dem 2012-Server hinterlegt sind, für die Clients die in der gleichen OU wie der Server sind freizugeben.

Momentan habe ich folgendes gemacht:
$server = Get-Content "C:\Skripte\server.txt"  
> Get-WmiObject -Class Win32_Printer -Computername $server | select Server, Sharename, Port

Das gibt mir alle Drucker aus die auf den 2012-Server hinterlegt sind. Wie kann ich das jetzt charmant in ein Script bauen, so dass Sie bei Anmeldung mit Benutzer xy und yz gezogen werden?
Macht man heute nicht mehr per Skript sondern mir einer GPP die auf die jeweilige OU wirkt.
Oder wenns Skript sein muss, For-Each Schleife drum und feeddich.
Pozelei
Pozelei Nov 25, 2017 at 13:17:43 (UTC)
Goto Top
Wie müsste die For-Each Schleife denn aussehen generell?

Ich frage mich, wie ich in dem Script per LogOn die Drucker mitgeben kann.

Vielleicht könnte mich nochmal jemand unterstützen?
134464
134464 Nov 25, 2017 updated at 13:29:58 (UTC)
Goto Top
Wo steht denn überhaupt deine Zuordnung der Drucker zu den OUs???
Mach einfach für jede OU eine Policy in den Policies jeweils die für diese OU zuständigen Drucker in der GPP eintragen fertig. Skript überflüssig. Da werden ja sicherlich nicht 20 Drucker am Tag neu kommen, oder? Und vor allem müsstest du diese ja sowieso erst zuordnen.

Wie müsste die For-Each Schleife denn aussehen generell?
https://technet.microsoft.com/de-de/library/ee176828.aspx

Ich frage mich, wie ich in dem Script per LogOn die Drucker mitgeben kann.
In den Druckereigenschaften hinterlegen, oder im AD, oder ... da hast du frei Wahl.

Warum du das aber nicht wie oben beschrieben machst verstehe ich nicht.