首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WMI printer.put()访问被拒绝

WMI printer.put()访问被拒绝
EN

Stack Overflow用户
提问于 2017-08-18 05:42:05
回答 1查看 372关注 0票数 1

我试图使用以下代码修改每台打印机的“保持打印作业”属性:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management;

namespace ConsolePrintpref
{
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Modify printer parameters");

        ManagementScope scope = new ManagementScope("root\\CIMV2");
        scope.Connect();

        string searchQuery = "SELECT * FROM Win32_Printer";
        ManagementObjectSearcher searchPrinters = new ManagementObjectSearcher(searchQuery);
        ManagementObjectCollection printerCollection = searchPrinters.Get();

        foreach (ManagementObject printer in printerCollection)
        {
            PropertyDataCollection printerProperties = printer.Properties;
            foreach (PropertyData property in printerProperties)
            {
                if (property.Name == "KeepPrintedJobs")
                {
                    printerProperties[property.Name].Value = true;
                }
            }
            printer.Put(); //access denied
        }
     }
   }
}

但它引发错误:System.Management.ManagementException类型的未处理异常发生在System.Management.dll附加信息中:访问被拒绝

我在管理员帐户上,在WMImgmt中,它显示管理员有写权限。有什么东西我遗漏了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-18 05:51:29

尝试以管理员身份运行Visual。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45749268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档