2011-11-17 2 views
3

다른 것들 중 Windows 시스템에서 설치된 소프트웨어 및 라이센스를 검색해야하는 Linux 감사 응용 프로그램을 개발 중입니다. 응용 프로그램은 에이전트가 없어야합니다 (MUST).Linux에서 Windows 레지스트리 키를 쿼리하려면 어떻게합니까?

# LAUNCHING WMIC PLUGIN 
my $cmd = "wmic -U ".$username."%".$password." //".$hostname." \"select Name, Version from Win32_Product\""; 
my $output = `$cmd`; 
print "INSTALLED SOFTWARE:\n"; 
print "$output"; 

지금 내 질문은, 어떻게 특정 응용 프로그램의 제품 키를 검색 할 수있다 : WMI 클라이언트 실제로 내가 응용 프로그램을 조회 할 수 tryed하고 그냥 괜찮 았는데, 내가 원하는 것을 구현 하는가? 때로는 레지스트리 키에 저장되는 경우도 있는데, WMI를 통해 쿼리 할 수 ​​있습니까?

편집

: 그냥 웹 사이트에 그 발견 :

http://social.technet.microsoft.com/Forums/en/winserverGP/thread/5cd1b80a-2f90-4d46-bf65-dba52dcf0c56

WQL 쿼리는 속성 집합을 제공하는 특정 WMI 클래스를 기반으로합니다. 대신 WMI 레지스트리 동작은 "기본"네임 스페이스의 "StdRegProv"를 기반으로하며 결과를 얻으려면 특정 메서드를 호출해야합니다. 즉, WMI 필터를 사용할 수없는 레지스트리 쿼리를 의미합니다.

WQL에서 레지스트리 키를 조사 할 수없는 것 같습니다. 그럼 어떻게해야합니까? 어떤 아이디어?

답변

2

비 Windows 클라이언트에서이 기능을 사용 해본 경험이 없지만 DBD::WMI입니다.

+0

내가 아는 한 정보를 수집하기 위해 WMI 쿼리를 사용합니다. 레지스트리 키는 WMI를 통해 쿼리 할 수 ​​없습니다. – raz3r

+0

해당 모듈이 사용하는 것으로 보입니다 Win32 :: WQL; 내가 생각하는 은 창만 만들 뿐이다. – Wil

관련 문제