We're planning to move a small legacy network from the 192.168.1.x range to something like 192.168.111.x. DHCP reservations are based on MAC addresses, so changing device assignments should be manageable. The complication is that many Windows computers have network printers installed manually using raw IP addresses rather than hostnames or a print server. There are fewer than 100 clients, but many printers, making manual port edits impractical. Is there a reliable way to bulk update printer ports with PowerShell, Group Policy, or another deployment method?
3 Answers
First determine whether these are shared printers or direct-print installations. If clients connect to shared queues on a print server, changing the printer or port on the server—and updating DNS if needed—may be all that’s required. If each workstation has its own Standard TCP/IP printer port, every client will need the port changed locally.
A safe migration script should log what it changes, preserve the default printer, and handle failures without stopping the entire run. You can use the PrintManagement cmdlets to create ports and update printer associations, or remove and recreate printer connections when appropriate. Scope the deployment to a pilot computer group, force a policy refresh, verify printing, and then expand it gradually.
Also consider changing the printer installations to hostnames after the migration. That prevents the next DHCP or subnet change from causing the same problem again.
For directly attached TCP/IP printers, PowerShell is probably the practical approach. Enumerate the installed printers, identify the ports using the old address range, create or update ports with the new addresses, and then assign those ports back to the printers. Test it on a small group of machines first, and deploy the script through Group Policy or another management tool once it’s verified. For future installations, use DNS names instead of fixed IP addresses so an address change doesn’t require touching every client.
A print server or centrally managed printer deployment would make this much easier, but the script approach is still workable for a network of this size.

There isn’t currently a print server, so the direct TCP/IP ports will need to be handled on the individual workstations. Adding a print server could be included as part of the broader network cleanup.