stmikbg-dot-com

Informasi Seputar IT


Menggunakan WMI

Hari ini ada sedikit keisengan yang disarankan sama erwin aka moonbluez and adit` aka nyem yakni bagaimana kita bisa mengakses windows management instrument (WMI) pada komputer remote, Bicara WMI kayaknya baru kali ini, gw jadi penasaran. Setelah gw tanya ke mbah google akhirnya gw ada sedikit bayangan dan yang paling banyak adalah keterkejutan gw, bayangkan dengan WMI kita bisa mendapatkan informasi apapun pada komputer yang menjalankan system operasi windows.

Bayangkan dengan WMI anda bisa melihat proses list, type procesor dan kecepatan processor, keadaan memory, besar kapasitas hardisk yang ada dikomputer dan kemampuan lainnya dengan perintah WQL, contohnya

'untuk melihat process list
Select * From Win32_Process

Dengan berbekal sedikit bahasa pemerograman visual basic anda bisa membuat sebuah tools untuk mengakses WMI seperti contoh dibawah ini

' Full Computer Name
' can be found by right-clicking My Computer,
' then click Properties, then click the Computer Name tab)
' or use the computer's IP address
strComputer = "FullComputerName"
strDomain = "DOMAIN"
Wscript.StdOut.Write "Please enter your user name:"
strUser = Wscript.StdIn.ReadLine
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your password:"
strPassword = objPassword.GetPassword()

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, _
    "root\cimv2", _
     strUser, _
     strPassword, _
     "MS_409", _
     "ntlmdomain:" + strDomain)
Set colSwbemObjectSet = _
    objSWbemServices.ExecQuery("Select * From Win32_Process")
For Each objProcess in colSWbemObjectSet
    Wscript.Echo "Process Name: " & objProcess.Name
Next

untuk vb.net code seperti dibawah ini

Imports System
Imports System.Management
Public Class RemoteConnect

    Public Overloads Shared Function Main( _
    ByVal args() As String) As Integer
    Dim scope As ManagementScope
        scope = New ManagementScope( _
            "\\FullComputerName\root\cimv2")
        scope.Connect()
    Dim query As ObjectQuery
        query = new ObjectQuery( _
            "SELECT * FROM Win32_OperatingSystem")
    Dim searcher As ManagementObjectSearcher
        searcher = _
            New ManagementObjectSearcher(scope, query)
    Dim queryCollection As ManagementObjectCollection
        queryCollection = searcher.Get()
    Dim m As ManagementObject
        For Each m In queryCollection
            ' Display the remote computer information
            Console.WriteLine("Computer Name : {0}", _
                m("csname"))
            Console.WriteLine("Windows Directory : {0}", _
                m("WindowsDirectory"))
            Console.WriteLine("Operating System: {0}", _
                m("Caption"))
            Console.WriteLine("Version: {0}", m("Version"))
            Console.WriteLine("Manufacturer : {0}", _
                m("Manufacturer"))
        Next
        Return 0
    End Function
End Class

Kemungkinan saat menjalankan WMI tools secara remote anda akan diblok biasanya ada pesan “RPC Server unavailable” untuk troubleshot masalah tersebut anda bisa menonaktifkan windows firewall atau ketik command berikut pada remote komputer Netsh firewall set service RemoteAdmin

Terdapat juga beberapa error seperti “Access denied”, untuk mengatasi masalah ini anda bisa menjalankan secpol.msc dan pada section Local Policies – Security Options – Network access jika diset Guest only anda harus memasukkan ke mode Classic dan restart komputer anda.

Incoming search terms:

  • mengatasi pesan error WMI
  • mengatasi wmi error
  • wmi access denied
  • windows WMI error bagaimana cara mengatasinya
  • pesan wmi
  • mengatasi WMI
  • mengatasi pesan wmi pada windows
  • cara memperbaiki wmi promblem
  • ManagementObjectSearcher vb net
  • cara menjalankan WMI komputer