dodaj drukarkę do komputera lokalnego za pomocą ManagementClass

Widzę odwołania i wskazówki, że programowo można dodać drukarkę sieciową do komputera lokalnego za pomocą klasy ManagementClass i tym podobnych. Nie udało mi się jednak znaleźć żadnych rzeczywistych samouczków na ten temat.

czy ktoś rzeczywiście użył tej klasy do zarządzania?

Robię to:

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);   

Wszystko to powoduje błąd „Generic Failure”

Nie mogę zrozumieć, czego mi brakuje ... wszelka pomoc lub przemyślenia na ten temat byłyby mile widziane.

Myślę, że muszę lepiej wyjaśnić, co próbuję zrobić ... gdy potrzebne drukarki nie są powiązane z serwerem druku, muszę: utworzyć surowy port tcpip, podłączyć drukarkę przez tcp / ip, zainstalować sterowniki, opcjonalnie ustaw domyślne.

Miałem nadzieję, że WMI może w zasadzie zająć się tym wszystkim, ale wydaje się, że tak nie jest.

dzięki!

questionAnswers(4)

yourAnswerToTheQuestion