Powershell Script Drucker IP to DNS (Hostname)
Hallo liebe Community,
ich brauche dringend eure Hilfe. Ich brauche ein Powershell Script (um später per AD zu pushen) für alle meine Clients (ca. 200) bei dem der Druckername (IP Adresse) sich zu DNS Name ändert. Der Hintergrund dazu, ist dass die Clients samt Drucker von einem Subnetz zum anderen Umgezogen werden und die IPs ändern sich bei allen Geräten. Allerdings Treiber und die DNS Namen bleiben. Ich möchte nicht zu jedem PC rennen und bei jedem Gerät in Druckereigenschaften den Anschluss von IP zu DNS Namen ändern. Es wäre schön ein Paar Impulse von euch zu bekommen, bzw. einen Tipp zu einem fertigen Script.
VG und danke
ich brauche dringend eure Hilfe. Ich brauche ein Powershell Script (um später per AD zu pushen) für alle meine Clients (ca. 200) bei dem der Druckername (IP Adresse) sich zu DNS Name ändert. Der Hintergrund dazu, ist dass die Clients samt Drucker von einem Subnetz zum anderen Umgezogen werden und die IPs ändern sich bei allen Geräten. Allerdings Treiber und die DNS Namen bleiben. Ich möchte nicht zu jedem PC rennen und bei jedem Gerät in Druckereigenschaften den Anschluss von IP zu DNS Namen ändern. Es wäre schön ein Paar Impulse von euch zu bekommen, bzw. einen Tipp zu einem fertigen Script.
VG und danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670994
Url: https://administrator.de/forum/powershell-script-drucker-ip-to-dns-hostname-670994.html
Ausgedruckt am: 30.01.2025 um 05:01 Uhr
6 Kommentare
Neuester Kommentar
Zitat von @pebcak7123:
wenn ich mich richtig erinnere kann man den Druckerport über Powershell nicht ändern.
Also sollte das Script:
- Druckernamen auslesen
- Port anlegen mit neuem Hostname
- alten Drucker löschen
- alten Port löschen
- Drucker mit altem Namen und neuem Port neu anlegen
wenn ich mich richtig erinnere kann man den Druckerport über Powershell nicht ändern.
Also sollte das Script:
- Druckernamen auslesen
- Port anlegen mit neuem Hostname
- alten Drucker löschen
- alten Port löschen
- Drucker mit altem Namen und neuem Port neu anlegen
So ist es. Mal nach Skripten googlen und anpassen.
Kleine Hilfestellung :-p
https://learn.microsoft.com/en-us/powershell/module/printmanagement/?vie ...
Man KANN über die Powershell die Ports tauschen.
Empfehlenswerter weise mit einer Auflistung in einer CSV
https://learn.microsoft.com/en-us/powershell/module/printmanagement/?vie ...
Man KANN über die Powershell die Ports tauschen.
Empfehlenswerter weise mit einer Auflistung in einer CSV
Da es MICH interessiert
Hier der Weg um die CSV zu erstellen:
Das Ergebnis hat bei mir den Header
Und dann schaut man sich mal um und findet zB dies:
https://community.spiceworks.com/t/need-script-to-bulk-change-printer-po ...
Man nimmt die CSV und bearbeitet die.
Konkret braucht man bestehende Daten und trägt was nach:
Assuming you had a CSV with the properties:
PrinterName
OldPortName
NewPortName
NewPortIPAddress
then you should be able to do something like this:
Hier der Weg um die CSV zu erstellen:
Get-Printer | export-csv -LiteralPath "c:\PRINTERS-LOKAL.csv"
Das Ergebnis hat bei mir den Header
"RenderingMode","PrinterStatus","Type","DeviceType","Caption","Description","ElementName","InstanceID","CommunicationStatus","DetailedStatus","HealthState","InstallDate","Name","OperatingStatus","OperationalStatus","PrimaryStatus","Status","StatusDescriptions","BranchOfficeOfflineLogSizeMB","Comment","ComputerName","Datatype","DefaultJobPriority","DisableBranchOfficeLogging","DriverName","JobCount","KeepPrintedJobs","Location","PermissionSDDL","PortName","PrintProcessor","Priority","Published","SeparatorPageFile","Shared","ShareName","StartTime","UntilTime","WorkflowPolicy","PSComputerName"
Und dann schaut man sich mal um und findet zB dies:
https://community.spiceworks.com/t/need-script-to-bulk-change-printer-po ...
Man nimmt die CSV und bearbeitet die.
Konkret braucht man bestehende Daten und trägt was nach:
Assuming you had a CSV with the properties:
PrinterName
OldPortName
NewPortName
NewPortIPAddress
then you should be able to do something like this:
$IPAddresses = Import-Csv c:\PRINTERS-LOKAL.csv
Foreach ($IP in $IPAddresses){
Add-PrinterPort -PrinterHostAddress $IP.NewIP -SNMP 1 -SNMPCommunity public -Name $IP.NewIP
Set-Printer -name $IP.Name -PortName $IP.NewIP
Remove-PrinterPort -Name $IP.OldIP
}