제 고객 중 하나는 C#으로 Windows 서비스를 작성하고 있습니다. 그것은 많은 것들을 검사하지만, 할 일은 프린터 포트 (IP 주소)가 이미 있는지 확인하는 것입니다. 그렇다면 특정 프린터를 IP 포트에 연결하십시오. 그렇지 않은 경우 포트를 만들고 연결하십시오.WMI를 사용하는 Windows 서비스
WMI를 사용하여 기존 프린터 포트를 확인하고 포트를 만듭니다. WMI를 사용하여 프린터를 프린터 포트에 연결합니다.
Windows 7에서 이것은 매력처럼 작동합니다. 그러나 내 (가상) XP 시스템에서는 서비스에 WMI 권한이 전혀없는 것 같습니다. 포트 검사가 실패하고 작성이 실패합니다. ManagementException에서 간단한 '액세스 거부'가 제공됩니다.
작은 테스트 프로그램 (C#의 콘솔 응용 프로그램)을 만들면 매력처럼 작동합니다.
다른 계정 (로컬 시스템, 관리자, 관리자 권한으로 개인 로그인)에서 서비스를 실행했지만 아무 것도 작동하지 않는 것 같고 Windows XP의 Windows 서비스에서 WMI를 사용할 수 없다는 느낌이 들었습니다.
혹시이 문제를 해결할 수있는 방법이 있습니까? 아니면 여기서 무엇이 잘못 되었습니까?
답변을 찾을 곳이 어디인지 알지 못하므로 여기에서 답을 찾아보십시오.
예, 저는 WIN32_Printer를 사용합니다. 그러나 동일한 XP 컴퓨터의 콘솔 응용 프로그램에서 작동합니다. – Aspage
수정 : WMI에서 Win32_Printer 'folder/class'를 참조하는 WMI를 사용합니다. 나는 일을 끝내기 위해 Win32_Printer를 직접 사용하지 않습니다. – Aspage
Win32_Printer는 WMI 클래스입니다. Win32_Printer를 사용하고 있지 않다면 어떤 WMI 클래스가 사용하고 있습니까? –