Hinzufügen eines Druckers zum lokalen Computer mithilfe von ManagementClass

Ich sehe Hinweise und Hinweise, dass man programmgesteuert einen Netzwerkdrucker zu einem lokalen Computer hinzufügen kann, indem man die ManagementClass und dergleichen verwendet. Ich konnte jedoch keine tatsächlichen Tutorials finden, um genau dies zu tun.

Hat jemand die ManagementClass dazu benutzt?

Ich mache das:

var connectionOption = new ConnectionOption();
var mgmScope = new ManagementScope("root\cimv2",connectionOptions);

var printerClass = new ManagementClass(mgmScope, new ManagementPath("Win32_Printer"),null);
var printerObj = printerClass.CreateInstance();

printerObj["DeviceID"] = prnName;     //
printerObj["DriverName"] = drvName;   // full path to driver
printerObj["PortName"] = "myTestPort:";

var options = new PutOptions {Type = PutType.UpdateOrCreate};
printerObj.Put(options);   

Dies führt lediglich zu einem Fehler "Allgemeiner Fehler".

Ich kann nicht herausfinden, was ich vermisse ..... jede Hilfe oder Gedanken dazu wäre dankbar.

Ich denke, ich muss besser erklären, was ich versuche zu tun ... wenn die benötigten Drucker nicht an einen Druckserver gebunden sind, muss ich: einen TCP / IP-Raw-Port erstellen, einen Drucker über TCP / IP anschließen, Treiber installieren, optional set default.

Ich hatte gehofft, WMI könnte sich im Grunde um all das kümmern, aber es scheint nicht der Fall zu sein.

Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage