|
本帖最后由 yjqd 于 2021-1-21 20:30 编辑
vbs的ImpersonationLevel=impersonate和=3的区别
下面代码运行正常
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objLocator.ConnectServer(".", "root\cimv2")
objWMIService.Security_.ImpersonationLevel = impersonate
Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")
For each objDisk in colDisks
Wscript.Echo "DeviceID: " & vbTab & objDisk.DeviceID & vbNewLine & _
"FreeSpace: " & vbTab & objDisk.FreeSpace
Next
如果红色加粗语句改为objWMIService.Security_.ImpersonationLevel = 3,运行就会报错
有的语句是这样写的,运行正常:
Set objWMIService = GetObject("WinMgmts:{impersonationLevel=impersonate}" & "\\.\root/cimv2")
|
|