WMI를 사용하여 컴퓨터 정보 얻기
5863 단어 WMI
WMI는 신축 가능한 시스템 관리 구조로 이 규범은 통일되고 표준을 바탕으로 확장 가능한 대상 인터페이스를 채택한다.이것은 시스템 관리자 정보 및 기본 WMI API와 상호작용하는 표준 방법을 제공하는데 주로 시스템 관리 응용 프로그램 개발자와 시스템 관리자가 정보를 액세스하고 조작하는 데 사용한다.
WMI는 시스템 관리자가 시스템 활동을 보다 면밀하게 모니터링할 수 있도록 시스템 정보를 구성하고 관리하는 도구입니다.
WMI는 Microsoft Windows 운영 체제에 내장된 풍부한 시스템 관리 서비스를 제공합니다. 현재 대량의 응용 프로그램, 서비스와 장치가 정보 기술 조작과 제품 지원 조직에 전방위적인 관리 기능을 제공합니다.WMI 기반 관리 시스템의 사용은 더욱 신뢰할 수 있는 계산 환경과 높은 시스템 신뢰성을 가져와 기업의 비용을 절약했다.
WMI가 제공하는 대량의 규범은 많은 고급 응용 프로그램, 예를 들어 Microsoft Exchange, Microsoft SQL Server와 Microsoft Internet 정보 서비스(IIS) 등 다음과 같은 관리 임무를 실현한다.
1. 애플리케이션 실행 모니터링
2. 병목 또는 장애 감지
3. 애플리케이션 관리 및 구성
4. 응용 프로그램 데이터 조회(대상 관계의 반복과 조회 사용)
5. 원활한 로컬 또는 원격 관리 수행
다음은 WMI의 강력한 기능에 대한 예입니다.vb6 열:
참조 "Microsoft WMI Scripting V1.1 Library"
코드는 다음과 같습니다.
Option Explicit
Dim WithEvents Sink As SWbemSink
Dim j As Integer
' : wmi , ,
Private Sub cmdDone_Click()
Dim oWMINameSpace As SWbemServices
Dim oLogicalDiskSet As SWbemObjectSet
Dim oLogicalDisk As SWbemObject
Dim ObjSet As Variant
Dim sDrive As String
Dim sValue As String
Dim dblSize As Double
Dim Obj As Variant
Dim lIndex As Long
Set oWMINameSpace = GetObject("winmgmts:")
'
On Error Resume Next
Set ObjSet = oWMINameSpace.InstancesOf("Win32_DiskDrive")
For Each Obj In ObjSet
List5.AddItem Obj.Caption & " - " & BytesToMegabytes(Obj.Size) & " GB"
Next
'
On Error GoTo ErrorHandler
'Set oWMINameSpace = GetObject("winmgmts:")
Set oLogicalDiskSet = oWMINameSpace.InstancesOf("Win32_LogicalDisk")
For Each oLogicalDisk In oLogicalDiskSet
On Error Resume Next
sDrive = oLogicalDisk.deviceid
ListView1.ListItems.Add , , sDrive
lIndex = ListView1.ListItems.Count
sValue = oLogicalDisk.Description & ""
ListView1.ListItems(lIndex).SubItems(1) = sValue
sValue = oLogicalDisk.FileSystem & ""
ListView1.ListItems(lIndex).SubItems(2) = sValue
sValue = oLogicalDisk.VolumeName & ""
ListView1.ListItems(lIndex).SubItems(3) = sValue
sValue = oLogicalDisk.VolumeSerialNumber & ""
ListView1.ListItems(lIndex).SubItems(4) = sValue
sValue = oLogicalDisk.Size & ""
If IsNumeric(sValue) Then
dblSize = BytesToMegabytes(CDbl(sValue))
sValue = CStr(dblSize) & " MB"
End If
ListView1.ListItems(lIndex).SubItems(5) = sValue
Next
CleanUp:
Set oLogicalDisk = Nothing
Set oLogicalDiskSet = Nothing
Set oWMINameSpace = Nothing
Exit Sub
ErrorHandler:
MsgBox "" & Err.Description
GoTo CleanUp
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Function BytesToMegabytes(Bytes As Double) As Double
Dim dblAns As Double
dblAns = (Bytes / 1024) / 1024
BytesToMegabytes = Format(dblAns, "###,###,##0.00")
End Function
Private Sub Command2_Click()
Dim oWMINameSpace As SWbemServices
Dim SystemSet As Variant
Dim System As Variant
Dim ObjSet As Variant
Dim Obj As Variant
Set oWMINameSpace = GetObject("winmgmts:")
'
Set SystemSet = oWMINameSpace.InstancesOf("Win32_OperatingSystem")
For Each System In SystemSet
List1.AddItem System.Caption
List1.AddItem System.Manufacturer
List1.AddItem System.BuildType & “” ‘Win9x
List1.AddItem System.Version
List1.AddItem System.SerialNumber
Next
'cpu
Set ObjSet = oWMINameSpace.InstancesOf("Win32_Processor")
For Each Obj In ObjSet
List2.AddItem Obj.Caption
List2.AddItem Obj.currentclockspeed & " Mhz"
Next
End Sub
Private Sub Command3_Click()
Dim oWMINameSpace As SWbemServices
Dim ObjSet As Variant
Dim Obj As Variant
Dim Adapter As Variant
'
Set oWMINameSpace = GetObject("winmgmts:")
Set ObjSet = oWMINameSpace.InstancesOf("Win32_PhysicalMemory")
Dim i As String
For Each Obj In ObjSet
List3.AddItem BytesToMegabytes(Obj.capacity) & " MB" & " Chip"
Next
'
Set Sink = New SWbemSink
Set Adapter = GetObject("winmgmts:")
Adapter.InstancesOfAsync Sink, "Win32_NetworkAdapter"
End Sub
Private Sub Form_Load()
j = 0
End Sub
Private Sub Sink_OnObjectReady(ByVal objWbemObject As WbemScripting.ISWbemObject, ByVal objWbemAsyncContext As WbemScripting.ISWbemNamedValueSet)
Dim Adapter As Variant
‘
Set Adapter = GetObject("winmgmts:Win32_NetworkAdapterConfiguration=" & j & "")
List4.AddItem Adapter.Description
If IsNull(Adapter.MACAddress) Then
List4.AddItem "No MAC Address"
List4.AddItem ""
Else
List4.AddItem "Mac: " & Adapter.MACAddress
List4.AddItem ""
End If
j = j + 1
End Sub
이 글은 여기까지 소개합니다. 더 많은 내용은 이 글을 참고하십시오http://technet.microsoft.com/en-us/library/ee198932.aspx
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WMI를 사용하여 컴퓨터 정보 얻기WMI는 기업 환경의 관리 정보에 접근하기 위해 표준화된 기술을 개발하는 업계 추천 규범이다.이 정보는 시스템 메모리의 상태, 현재 설치된 고객 응용 프로그램 목록, 클라이언트 상태에 대한 기타 데이터를 포함한다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.