C # /. NET: Как добавить сетевой принтер в локальную учетную запись ПК?

Я использую WMI Code Creator для создания кода для добавления сетевого принтера .

http://img13.imageshack.us/img13/9847/wmicodecreatorwin32prin.png

Сгенерированный код отлично работает (в любом случае, под моей учетной записью домена):

using System;
using System.Management;
using System.Windows.Forms;

namespace WMISample
{
    public class CallWMIMethod
    {
        public static void Main()
        {
            try
            {
                ManagementClass classInstance =
                    new ManagementClass("root\\CIMV2",
                    "Win32_Printer", null);

                // Obtain in-parameters for the method
                ManagementBaseObject inParams =
                    classInstance.GetMethodParameters("AddPrinterConnection");

                // Add the input parameters.
                inParams["Name"] =  "\\\\PrintServer\\PrinterName";

                // Execute the method and obtain the return values.
                ManagementBaseObject outParams =
                    classInstance.InvokeMethod("AddPrinterConnection", inParams, null);

                // List outParams
                Console.WriteLine("Out parameters:");
                Console.WriteLine("ReturnValue: " + outParams["ReturnValue"]);
            }
            catch(ManagementException err)
            {
                MessageBox.Show("An error occurred while trying to execute the WMI method: " + err.Message);
            }
        }
    }
}

Однако мне нужно добавить сетевой принтер в локальную учетную запись ПК, то есть учетную запись вне домена, у которой нет доступа к \ PrintServer.

Где я могу ввести имя пользователя и пароль пользователя домена (служебной учетной записи) в приведенный выше код?

I часами гуглил, но все, что я смог найти, - это одна дурацкая статья, в которой говорится, как добавить принтер на удаленный компьютер, чего я не собираюсь делать.

(Мне нужно добавить удаленный принтер к текущий ПК, а не удаленный ПК.) (Предостережение заключается в том, что зарегистрированный пользователь является локальной учетной записью ПК.)

Кто-нибудь знает, как этого можно достичь?

8
задан JohnnyRockets 5 August 2011 в 22:12
поделиться