代码(checksvr.vbs):
复制代码 代码如下:
'On Error Resume Next
Const HKEY_LOCAL_MACHINE = &H80000002
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Services"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
Wscript.Echo "Checking, please wait ..."
Wscript.Echo ""
For Each subkey In arrSubKeys
oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\\" & subkey, "ObjectName", strValue
If Not (strValue = "") Then
'判断服务, 利用数组来比较不知道会不会快些?
If Not (CheckSvr(subkey)) Then
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ Hidden ]"
Else
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ OK ]"
End If
End If
Next
Wscript.Echo ""
Wscript.Echo "All done."
Wscript.Quit (0)
Function CheckSvr(strName)
Set oWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set cService = oWMI.ExecQuery("Select * from Win32_Service WHERE Name='" & strName & "'")
If (cService.count <> 0) Then
CheckSvr = True
Else
CheckSvr = False
End If
End Function
Function FormatOutTab(strName)
strLen = Len(strName)
Select Case True
Case strLen < 8
FormatOutTab = vbTab & vbTab & vbTab & vbTab & vbTab
Case strLen < 16
FormatOutTab = vbTab & vbTab & vbTab & vbTab
Case strLen < 24
FormatOutTab = vbTab & vbTab & vbTab
Case strLen < 32
FormatOutTab = vbTab & vbTab
Case strLen < 40
FormatOutTab = vbTab
Case Else
FormatOutTab = vbTab
End Select
End Function
利用字典,速度要快很多:
复制代码 代码如下:
Dim oDic, oReg, oWmi, arrServices
Const HKEY_LOCAL_MACHINE = &H80000002
Wscript.Echo "[*] Checking, please wait ..."
Wscript.Echo ""
Set oDic = CreateObject("Scripting.Dictionary")
Set oWmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set arrServices = oWmi.ExecQuery("Select * from Win32_Service")
For Each strService In arrServices
oDic.Add strService.Name, strService.Name
Next
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Services"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\\" & subkey, "ObjectName", strValue
If Not (strValue = "") Then
If oDic.Exists(subkey) Then
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ OK ]"
Else
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ Hidden ]"
End If
End If
Next
oDic.RemoveAll
Wscript.Echo ""
Wscript.Echo "[*] All done."
Wscript.Quit (0)
Function FormatOutTab(strName)
strLen = Len(strName)
Select Case True
Case strLen < 8
FormatOutTab = vbTab & vbTab & vbTab & vbTab
Case strLen < 16
FormatOutTab = vbTab & vbTab & vbTab
Case strLen < 24
FormatOutTab = vbTab & vbTab
Case strLen < 32
FormatOutTab = vbTab
Case Else
FormatOutTab = vbTab
End Select
End Function
来自: enun.net
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 鸣潮联觉等级怎么提升 联觉等级升级攻略
- 甄妮《皆因你的爱》华星40金唱片[WAV分轨]
- 陈奕迅《时代曲》华星40金唱片)[WAV分轨]
- 蔡依林《2004BornToBeAStar(超级珍藏世纪精选2CD)》[WAV整轨]
- 《碧海黑帆》新赛季预告公布 又有免费试玩生怕你不玩
- 刘德华《天王巨星经典情歌典藏2CD》[WAV+CUE][1.3GB]
- 斯琴格日乐《强烈直接的音乐方式 姿态》[WAV+CUE][500MB]
- 王菲《收录12首 只爱陌生人》[WAV+CUE][540MB]
- 鸣潮清芬鱼汤制作材料是什么 清芬鱼汤制作攻略分享
- 鸣潮卡卡罗和忌炎怎么选择 卡卡罗和忌炎强度对比攻略
- 鸣潮撞金止行阵任务怎么完成 撞金止行阵流程攻略
- 刘德华1991-不可不信......缘[香港复黑版][WAV]
- 蔡依林《爱情任务》[WAV分轨]
- 蔡国权《同名专辑》1987[FLAC+CUE]
- 《命运2:终焉之形》6月5日上线 新视频提前发布!