2017-05-22 10 views
0

vbScript를 사용하여 환경에서 PowerShell을 사용하지 않아도됩니다.vbscript를 사용하여 원격 컴퓨터에서 여러 값 가져 오기

사용하여 다음 정보를 얻을려고 :

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set colFiles = objWMIService.ExecQuery ("Select * from CIM_Datafile Where Name = 'c:\\windows\\system32\\drivers\\srv.sys'") 
Set oss = objWMIService.ExecQuery ("Select caption from Win32_OperatingSystem") 
Set wshShell = CreateObject("WScript.Shell") 
strUserDomain = wshShell.ExpandEnvironmentStrings("%USERDOMAIN%") 
For Each objFile in colFiles 
    Wscript.Echo strComputer & "," & strUserDomain & "," & oss & "," & objFile.Version 
Next 

나는 (OSS)에서 운영 체제를 제외한 모든 것을 얻을 수 있습니다

script.vbs(8, 5) Microsoft VBScript runtime error: Wrong number of arguments or invalid property assignment

어떤 도움을 주시면 감사하겠습니다.

답변

2

변경 쿼리에 : 당신이 가지고 이제

Set oss = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem") 

설치된 모든 OS의 수집, 당신은 캡션 속성을 사용할 수 있으며 (경우에, 여러 OS가) 배열에 저장 한 다음

Dim arrCap() 
Dim intCtr: intCtr=-1 
For each os in oss 
    intCtr=intCtr+1 
    Redim preserve arrCap(intCtr) 
    arrCap(intCtr) = os.Caption 
Next 

이제 어레이에는 모든 운영 체제의 운영 체제 버전이 포함되어 있습니다.

Wscript.Echo arrCap(0) 

최종 코드처럼 보일 것입니다 : 당신은 단지 하나 개의 OS가있는 경우 아래와 같이,이 배열의 0 번째 요소를 사용할 수 있습니다 여기에

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set colFiles = objWMIService.ExecQuery ("Select * from CIM_Datafile Where Name = 'c:\\windows\\system32\\drivers\\srv.sys'") 
Set oss = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem") 
Set wshShell = CreateObject("WScript.Shell") 

Dim arrCap() 
Dim intCtr: intCtr=-1 
For each os in oss 
    intCtr=intCtr+1 
    Redim preserve arrCap(intCtr) 
    arrCap(intCtr) = os.Caption 
Next 

strUserDomain = wshShell.ExpandEnvironmentStrings("%USERDOMAIN%") 
For Each objFile in colFiles 
    Wscript.Echo strComputer & "," & strUserDomain & "," & arrCap(0) & "," & objFile.Version 
Next 

하면 출력 :

enter image description here

+0

감사합니다. Kira, 감사합니다. – J1raya