Hello.
I did create these few functions several months ago. I post here, if it can interest someone.
These functions based on WMI queries allow you to manage printers : add / delete printer, driver, port, or obtain configuration, set default printer ... I let you discover it with the code.

 
Here is the list of the available functions :
_Printmgr_AddLocalPort
_Printmgr_AddLPRPort
_PrintMgr_AddPrinter
_PrintMgr_AddPrinterDriver
_PrintMgr_AddTCPIPPrinterPort
_PrintMgr_AddWindowsPrinterConnection
_PrintMgr_CancelAllJobs
_Printmgr_EnumPorts
_PrintMgr_EnumPrinter
_PrintMgr_EnumPrinterConfiguration
_PrintMgr_EnumPrinterDriver
_PrintMgr_EnumPrinterProperties
_PrintMgr_EnumTCPIPPrinterPort
_Printmgr_Pause
_Printmgr_PortExists
_Printmgr_PrinterExists
_Printmgr_PrinterSetComment
_Printmgr_PrinterSetDriver
_Printmgr_PrinterSetPort
_Printmgr_PrinterShare
_Printmgr_PrintTestPage
_PrintMgr_RemoveLocalPort
_PrintMgr_RemoveLPRPort
_PrintMgr_RemovePrinter
_PrintMgr_RemovePrinterDriver
_PrintMgr_RemoveTCPIPPrinterPort
_PrintMgr_RenamePrinter
_Printmgr_Resume
_PrintMgr_SetDefaultPrinter  
And some examples : #Include "PrintMgr.au3" ; Remove a printer called "My old Lexmark printer" : _PrintMgr_RemovePrinter("My old Lexmark printer") ; Remove the driver called "Lexmark T640" : _PrintMgr_RemovePrinterDriver("Lexmark T640") ; Remove the TCP/IP printer port called "TCP/IP" _PrintMgr_RemoveTCPIPPrinterPort("MyOLDPrinterPort") ; Add a driver, called "Samsung ML-451x 501x Series", and driver inf file is ".\Samsung5010\sse2m.inf" _PrintMgr_AddPrinterDriver("Samsung ML-451x 501x Series", "Windows NT x86", @scriptDir & "\Samsung5010", @scriptDir & "\Samsung5010\sse2m.inf") ; Add a TCP/IP printer port, called "MyTCPIPPrinterPort", with IPAddress = 192.168.1.10 and Port = 9100 _PrintMgr_AddTCPIPPrinterPort("MyTCPIPPrinterPort", "192.168.1.10", 9100) ; Add a printer, give it the name "My Printer", use the driver called "Samsung ML-451x 501x Series" and the port called "MyTCPIPPrinterPort" _PrintMgr_AddPrinter("My Printer", "Samsung ML-451x 501x Series", "MyTCPIPPrinterPort") ; Set the printer called "My Printer" as default printer _PrintMgr_SetDefaultPrinter("My Printer") ; Connect to the shared printer "\\192.168.1.1\HPDeskjetColor") _PrintMgr_AddWindowsPrinterConnection("\\192.168.1.1\HPDeskjetColor") ; List all installed printers #Include <Array.au3> $aPrinterList = _PrintMgr_EnumPrinter() _ArrayDisplay($aPrinterList) ; List all printers configuration #Include <Array.au3> $aPrinterConfig = _PrintMgr_EnumPrinterConfiguration() _ArrayDisplay($aPrinterConfig) ; List all installed printer drivers #Include <Array.au3> $aDriverList = _EnumPrinterDriver() _ArrayDisplay($aDriverList) ; Retrieve the printer configuration for the printer called "Lexmark T640" #Include <Array.au3> $aPrinterConfig = _PrintMgr_EnumPrinterConfiguration("Lexmark T640") _ArrayDisplay($aPrinterConfig) ; Add a local printer port (for a file output) _AddLocalPrinterPort("c:\temp\output.pcl") ; Remove the local port _RemoveLocalPrinterPort("c:\temp\output.pcl") Download link :  PrintMgr.au3