如何在c#中删除“僵尸”网络打印机连接?

时间:2016-07-12 10:26:00

标签: c# printing wmi access-denied network-printers

我正在尝试删除从打印服务器中删除的网络打印机。

我正在使用此代码删除已安装的打印机:

    public void unmapPrinter()
{
    ConnectionOptions options = new ConnectionOptions();
    options.EnablePrivileges = true;
    ManagementScope scope = new ManagementScope(ManagementPath.DefaultPath, options);
    scope.Connect();
    ManagementClass win32Printer = new ManagementClass("Win32_Printer");
    ManagementObjectCollection printers = win32Printer.GetInstances();
    foreach (ManagementObject printer in printers)
    {
        printer.Delete();
    }
}

这适用于普通打印机,但有一个已从打印机维护程序中删除,返回“拒绝访问”。有人知道这个问题吗?

即使是Windows也可以卸载该打印机,当我尝试从“打印机和硬件”中删除它时,它告诉我打印机处于警告状态。

0 个答案:

没有答案