WMI,列出服务器进程信息及系统服务信息及管理帐号等。

VBS代码转成vb.net比较简单,感觉学WIN32 WMI还是比较重要的。

None.gif ' *************************************************************************
None.gif'
 目的:获取本机IP
None.gif'
 函数:getLocalIP
None.gif'
 参数:无
None.gif'
 返回值:本机IP
None.gif'
*************************************************************************
None.gif
Function  getLocalIP
None.gif    
Set  IPConfigSet  =   GetObject ( " winmgmts:{impersonationLevel=impersonate} " ).ExecQuery( " select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE " )
None.gif    
For   Each  IPConfig IN IPConfigSet
None.gif        
If   Not   IsNull (IPConfig.IPAddress)  Then
None.gif                
For  i  =   LBound (IPConfig.IPAddress)  To   UBound (IPConfig.IPAddress)
None.gif                strIP 
=  strIP  &  IPConfig.IPAddress(i)  &   "    "
None.gif                
Next
None.gif        
End   If
None.gif    
Next
None.gif    getLocalIP 
=  strIP
None.gif
End Function
None.gif
' *************************************************************************
None.gif'
 功能:列出服务器驱动器可用磁盘空间
None.gif'
*************************************************************************
None.gif
Function  listDiskFreeSpace()
None.gif    
On   Error   Resume   Next
None.gif    
' XP/2003
None.gif
     Dim  strDiskSpace
None.gif
'     strComputer = "."
None.gif'
    Set objWMIService = GetObject("winmgmts:" _
None.gif'
           & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
None.gif'
None.gif'
    Set colDiskDrives = objWMIService.ExecQuery _
None.gif'
           ("Select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk Where " _
None.gif'
          & "Name <> '_Total'")
None.gif'
None.gif'
    For Each objDiskDrive in colDiskDrives
None.gif'
           strDiskSpace = strDiskSpace & objDiskDrive.Name & _
None.gif'
          "可用空间: " & objDiskDrive.FreeMegabytes  & "MB" & VbCrLf
None.gif'
    Next
None.gif
    
None.gif    
' All
None.gif
     Const  HARD_DISK  =   3
None.gif
None.gif    strComputer 
=   " . "
None.gif    
Set  objWMIService  =   GetObject ( " winmgmts: "  _
None.gif        
&   " {impersonationLevel=impersonate}!\\ "   &  strComputer  &   " \root\cimv2 " )
None.gif
None.gif    
Set  colDisks  =  objWMIService.ExecQuery _
None.gif        (
" Select * from Win32_LogicalDisk Where DriveType =  "   &  HARD_DISK  &   "" )
None.gif
None.gif    
For   Each  objDisk in colDisks
None.gif        strDiskSpace 
=  strDiskSpace  &   objDisk.DeviceID  &  vbTab  &  _     
None.gif                
" 空闲磁盘空间:  " &  vbTab  &  objDisk.FreeSpace  / 1024 / 1024   &   "  MB "   &  VbCrLf
None.gif    
Next
None.gif
None.gif    listDiskFreeSpace 
=  strDiskSpace
None.gif
End Function
None.gif
None.gif
' *************************************************************************
None.gif'
 目的:列出服务器进程
None.gif'
 函数:strProcess
None.gif'
 参数:无
None.gif'
 返回值:字符串
None.gif'
*************************************************************************
None.gif
Function  strProcess()
None.gif    strComputer 
=   " . "
None.gif    
Dim  oWMI, oProcs, oProc, strSQL,strPro
None.gif    strSQL 
=   " SELECT * FROM Win32_Process "
None.gif    
Set  oWMI  =   GetObject ( " winmgmts:\\ "   &  strComputer  &   " \root\cimv2 " )
None.gif    
Set  oProcs  =  oWMI.ExecQuery(strSQL)
None.gif
None.gif    
For   Each  oProc In oProcs
None.gif           strPro 
=  strPro  &  VbCrLf  &   " 名称:  "   &  oProc.Name  &  VbCrLf  &  _
None.gif                                      
" 路径:  "   &  oProc.ExecutablePath  &  VbCrLf  & _
None.gif                                      
" =========================================================== "
None.gif    
Next
None.gif    
Set  oProc  =   Nothing
None.gif    
Set  oProcs  =   Nothing
None.gif    
Set  oWMI  =   Nothing
None.gif    strProcess 
=  strPro
None.gif
End Function
None.gif
None.gif
None.gif
' *************************************************************************
None.gif'
 目的:列出系统服务名字及路径和状态
None.gif'
 函数名:strServicr()
None.gif'
 参数:无
None.gif'
 返回值:字符串
None.gif'
*************************************************************************
None.gif
Function  strService()
None.gif        
dim  strTemp
None.gif        strComputer 
=   " . "
None.gif        
Set  objWMIService  =   GetObject ( " winmgmts:\\ "   &  strComputer  &   " \root\cimv2 " )
None.gif        
Set  colItems  =  objWMIService.ExecQuery( " Select * from Win32_Service " )
None.gif
None.gif        
For   Each  objItem in colItems
None.gif            strTemp 
=  strTemp  &  VbCrLf  &   " 名称:  "   &  objItem.DisplayName  &  VbCrLf  &  VbCrLf  & _
None.gif                    
" 路径:  "   &  objItem.PathName  &  VbCrLf  & _
None.gif                    
" 状态:  "   &  objItem.State  &  VbCrLf  & _
None.gif                    
" =========================================================== "
None.gif        
Next
None.gif        strService 
=  strTemp
None.gif          
Set  colItems  =   Nothing
None.gif          
Set  objWMIService  =   Nothing
None.gif
End Function
None.gif
None.gif
' *************************************************************************
None.gif'
 目的:列出系统用户名及状态
None.gif'
 函数名:strWinUser()
None.gif'
 参数:无
None.gif'
 返回值:字符串
None.gif'
*************************************************************************
None.gif
Function  strWinUser()
None.gif        strComputer 
=   " . "
None.gif        
dim  strTemp
None.gif        
Set  objWMIWinUser  =   GetObject ( " winmgmts:\\ "   &  strComputer  &   " \root\cimv2 " )
None.gif        
Set  colItems  =  objWMIWinUser.ExecQuery( " Select * from Win32_UserAccount " )
None.gif        
For   Each  objItem in colItems
None.gif            strTemp 
=  strTemp  &  VbCrLf  &   " 名称:  "   &  objItem.Caption  &  VbCrLf  & _
None.gif                                         
" 状态:  "   &  objItem.Status  &  VbCrLf  & _
None.gif                                           
" =========================================================== "
None.gif        
Next
None.gif       strWinUser 
= strTemp
None.gif         
Set  colItems  =   Nothing
None.gif         
Set  objWMIWinUser  =   Nothing
None.gif
End Function
None.gif

转载于:https://www.cnblogs.com/LCX/archive/2006/08/21/482601.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值