zoukankan
html css js c++ java
WMI,列出服务器进程信息及系统服务信息及管理帐号等。
VBS代码转成vb.net比较简单,感觉学WIN32 WMI还是比较重要的。
'
*************************************************************************
'
目的:获取本机IP
'
函数:getLocalIP
'
参数:无
'
返回值:本机IP
'
*************************************************************************
Function
getLocalIP
Set
IPConfigSet
=
GetObject
(
"
winmgmts:{impersonationLevel=impersonate}
"
).ExecQuery(
"
select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE
"
)
For
Each
IPConfig IN IPConfigSet
If
Not
IsNull
(IPConfig.IPAddress)
Then
For
i
=
LBound
(IPConfig.IPAddress)
To
UBound
(IPConfig.IPAddress)
strIP
=
strIP
&
IPConfig.IPAddress(i)
&
"
"
Next
End
If
Next
getLocalIP
=
strIP
End Function
'
*************************************************************************
'
功能:列出服务器驱动器可用磁盘空间
'
*************************************************************************
Function
listDiskFreeSpace()
On
Error
Resume
Next
'
XP/2003
Dim
strDiskSpace
'
strComputer = "."
'
Set objWMIService = GetObject("winmgmts:" _
'
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
'
'
Set colDiskDrives = objWMIService.ExecQuery _
'
("Select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk Where " _
'
& "Name <> '_Total'")
'
'
For Each objDiskDrive in colDiskDrives
'
strDiskSpace = strDiskSpace & objDiskDrive.Name & _
'
"可用空间: " & objDiskDrive.FreeMegabytes & "MB" & VbCrLf
'
Next
'
All
Const
HARD_DISK
=
3
strComputer
=
"
.
"
Set
objWMIService
=
GetObject
(
"
winmgmts:
"
_
&
"
{impersonationLevel=impersonate}!\\
"
&
strComputer
&
"
\root\cimv2
"
)
Set
colDisks
=
objWMIService.ExecQuery _
(
"
Select * from Win32_LogicalDisk Where DriveType =
"
&
HARD_DISK
&
""
)
For
Each
objDisk in colDisks
strDiskSpace
=
strDiskSpace
&
objDisk.DeviceID
&
vbTab
&
_
"
空闲磁盘空间:
"
&
vbTab
&
objDisk.FreeSpace
/
1024
/
1024
&
"
MB
"
&
VbCrLf
Next
listDiskFreeSpace
=
strDiskSpace
End Function
'
*************************************************************************
'
目的:列出服务器进程
'
函数:strProcess
'
参数:无
'
返回值:字符串
'
*************************************************************************
Function
strProcess()
strComputer
=
"
.
"
Dim
oWMI, oProcs, oProc, strSQL,strPro
strSQL
=
"
SELECT * FROM Win32_Process
"
Set
oWMI
=
GetObject
(
"
winmgmts:\\
"
&
strComputer
&
"
\root\cimv2
"
)
Set
oProcs
=
oWMI.ExecQuery(strSQL)
For
Each
oProc In oProcs
strPro
=
strPro
&
VbCrLf
&
"
名称:
"
&
oProc.Name
&
VbCrLf
&
_
"
路径:
"
&
oProc.ExecutablePath
&
VbCrLf
&
_
"
===========================================================
"
Next
Set
oProc
=
Nothing
Set
oProcs
=
Nothing
Set
oWMI
=
Nothing
strProcess
=
strPro
End Function
'
*************************************************************************
'
目的:列出系统服务名字及路径和状态
'
函数名:strServicr()
'
参数:无
'
返回值:字符串
'
*************************************************************************
Function
strService()
dim
strTemp
strComputer
=
"
.
"
Set
objWMIService
=
GetObject
(
"
winmgmts:\\
"
&
strComputer
&
"
\root\cimv2
"
)
Set
colItems
=
objWMIService.ExecQuery(
"
Select * from Win32_Service
"
)
For
Each
objItem in colItems
strTemp
=
strTemp
&
VbCrLf
&
"
名称:
"
&
objItem.DisplayName
&
VbCrLf
&
VbCrLf
&
_
"
路径:
"
&
objItem.PathName
&
VbCrLf
&
_
"
状态:
"
&
objItem.State
&
VbCrLf
&
_
"
===========================================================
"
Next
strService
=
strTemp
Set
colItems
=
Nothing
Set
objWMIService
=
Nothing
End Function
'
*************************************************************************
'
目的:列出系统用户名及状态
'
函数名:strWinUser()
'
参数:无
'
返回值:字符串
'
*************************************************************************
Function
strWinUser()
strComputer
=
"
.
"
dim
strTemp
Set
objWMIWinUser
=
GetObject
(
"
winmgmts:\\
"
&
strComputer
&
"
\root\cimv2
"
)
Set
colItems
=
objWMIWinUser.ExecQuery(
"
Select * from Win32_UserAccount
"
)
For
Each
objItem in colItems
strTemp
=
strTemp
&
VbCrLf
&
"
名称:
"
&
objItem.Caption
&
VbCrLf
&
_
"
状态:
"
&
objItem.Status
&
VbCrLf
&
_
"
===========================================================
"
Next
strWinUser
=
strTemp
Set
colItems
=
Nothing
Set
objWMIWinUser
=
Nothing
End Function
查看全文
相关阅读:
达梦数据库学习(二、管理数据库实例)
达梦数据库学习(一、linux操作系统安装及数据库安装)
SQL Server 数据库还原进度查看
关于索引的学习(主要是聚集索引与非聚集索引)
SQL Server批量向表中插入多行数据语句
最大流-前置push-relabel算法实现
调度算法(二)
调度算法(一)
软件工程:提问回顾
软件工程:个人阅读作业与总结
原文地址:https://www.cnblogs.com/LCX/p/482601.html
最新文章
2014 UESTC Training for Data Structures F
2014 UESTC Training for Data Structures E
2014 UESTC Training for Data Structures D
2014 UESTC Training for Data Structures J
2014 UESTC Training for Data Structures C
2014 UESTC Training for Data Structures K
简单Elixir游戏服设计-call和测试不舒服的地方
简单Elixir游戏服设计- PlayerServer 怎么设计?
简单Elixir游戏服设计- TableServer的测试
简单Elixir游戏服设计-增加不翻牌和不补牌以及牌局加速测试
热门文章
简单Elixir游戏服设计-关于call还是cast
简单Elixir游戏服设计- 丰富桌子进程
简单Elixir游戏服设计-完善测试和代码改进
简单Elixir游戏服设计-使table测试通过
简单Elixir游戏服设计- 给table增加测试代码
简单Elixir游戏服设计-如何使测试更容易?
达梦数据库学习(五、用户管理)
达梦数据库学习(四、表空间管理)
SQLServer数据库使用日志备份还原至指定时间点
达梦数据库学习(三、体系结构)
Copyright © 2011-2022 走看看