2014-04-09 2 views
4
Dim strComputer, objReg, ScriptName, strKeyPath, strValueName, strValue 
Const HKEY_LOCAL_MACHINE = &H80000002 
strComputer = "." 

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
    strComputer & "\root\default:StdRegProv") 

이것은 리버스 엔지니어링을 위해 노력하고있는 큰 스크립트 조각입니다. 원본 코더는 사용할 수 없습니다.설명 VBScript WMI 쿼리/도용 수준 등

나는 코드의 마지막 줄을 연구하고 이해하려고 노력했지만 그물에 좋은 정보를 찾을 수는 없지만 나는 그다지 좋지 않다.

내가 말할 수있는 한 : - objreg는 SWbemObjectEx 유형의 개체입니다. - winmgmts : -

나는 종류의 얻을 StdRegProv는 마이크로 소프트 \ WBEM \ 스크립트 \ 기본 가장 수준 \ HKEY_LOCAL_MACHINE \ 소프트웨어를 가리켜 야한다 {impersonationLevel = 가장 할}는 개체가 (내 경우 시스템) 호출자의 보안 수준을 사용할 수 있습니다 그것이해야 할 일이지만, 나는 그것이 놀이로 어떻게 움직이는 지 알지 못합니다.

누군가가 절차 적으로 "! \"와 같은 것을 포함하여 단어별로 설명 할 수 있다면 나는 그것을 크게 평가할 것입니다. 고맙습니다.

답변

8

먼저 strComputer을 마침표 (.)와 동일하게 설정하면 이는 원격 컴퓨터가 아닌 로컬 컴퓨터를 대상으로한다는 것을 의미합니다. 그 이유는 마침표가 로컬 컴퓨터의 MS Windows 약식이기 때문입니다.

GetObject() 메서드는 첫 번째 인수로 제공하는 항목에 따라 다양한 유형의 개체를 가져 오는 데 사용할 수있는 Windows Scripting Host 함수입니다 (자세한 내용은 http://msdn.microsoft.com/en-us/library/8ywk619w%28v=vs.84%29.aspx 참조). 이 경우 WMI 모니 커 winmgmts:과 함께 Windows의 기본 제공 WMI (Windows Management Instrumentation) 데이터 소스 (자세한 내용은 http://msdn.microsoft.com/en-us/library/aa394582%28v=vs.85%29.aspx 참조)에 연결하는 데 사용합니다 (자세한 내용은 http://technet.microsoft.com/en-us/library/bb684728.aspx 참조). WMI 개체).

  • 접두사 :이 절차를 사용하여 모든 WMI 연결에서

    에서, WMI 모니 커는 세 가지 구성 요소를 허용 "winmgmts :"(필수)
  • 보안 설정 구성 요소 (선택 사항)
  • WMI 개체 경로 구성 요소 (선택 사항)

예에서 "보안 설정 구성 요소"는 {impersonationLevel=impersonate}! 및 "WMI 개체 경로 구성 요소": \\.\root\default:StdRegProv.

올바르게 지적한 보안 구성 요소는 쿼리에 제공 될 권한을 설정하는 데 사용됩니다.

경로 구성 요소는 WMI "개체 또는 클래스 경로", 즉 WMI에서 제공되는 정보 집합의 특정 정보 경로를 참조하는 데 사용됩니다. 파일 시스템의 경로와 혼동해서는 안됩니다. 경로 구성 요소는 항상 \\<computer name>\으로 시작합니다. 여기에서 <computer name>은 원격 컴퓨터이거나 위에서 설명한 로컬 컴퓨터를 나타내는 기간입니다.

경로가 StdRegProv 클래스를 가리킴 (자세한 내용은 http://msdn.microsoft.com/en-us/library/aa393664%28v=vs.85%29.aspx 참조). 이 클래스는 Windows 레지스트리에 대한 읽기 및 쓰기 액세스 권한을 제공합니다.개체가

Set objReg=GetObject("winmgmts:impersonationLevel=impersonate}!\\" & _ 
    strComputer & "\root\default:StdRegProv") 

를 통해 얻을되면

당신은 (다시, 더 많은 정보를 원하시면 http://msdn.microsoft.com/en-us/library/aa393664%28v=vs.85%29.aspx 참조) 사용할 수있는 작업의 모든 수행 할 objReg를 사용할 수 있습니다.

+0

위대한 답변에 감사드립니다. 이제는 의미가 있습니다. – user3515319