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.