0
C#에서 WMI를 사용하여 프린터의 이름을 바꾸려고합니다. 프린터를 선택하기 위해 쿼리를 실행할 수 있지만 RenamePrinter
메서드를 호출 할 때 액세스 거부 결과가 발생합니다. 이 응용 프로그램을 관리자로 실행하고 매니페스트를 만드는 방법을 시도했지만 실제로 관리자 계정으로 실행하지 않는 한이 메서드를 호출 할 수 없습니다.관리자가 아닌 사용자로 RenamePrinter 호출
var oSearcher = new ManagementObjectSearcher(oMs, oQuery);
ManagementObjectCollection oReturnCollection = oSearcher.Get();
foreach (ManagementObject oReturn in oReturnCollection)
{
var objectClass = new ManagementClass("Win32_Printer");
var inParams = objectClass.GetMethodParameters("RenamePrinter");
inParams["NewPrinterName"] = "..."; // something
ManagementBaseObject oResult = oReturn.InvokeMethod("RenamePrinter", inParams, null);
var result = oResult["returnValue"]; // 5 = Access Denied
나는 일반 사용자의 계정에서 RenamePrinter
를 호출 할 수있는 몇 가지 방법이 -이 관리자 권한으로 실행하는 것을 의미합니다 경우에도?