Class GetUserName
Private internal_Username
Private internal_strComputer
Private internal_objWMIService
Private internal_colComputer
Private internal_objComputer
Public Property Get EmployeeName
strComputer = "."
Set internal_objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set internal_colComputer = internal_objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objComputer In internal_colComputer
internal_Username = LCase(Right(internal_colComputer.UserName, Len(internal_colComputer.UserName) - Len(Left(internal_colComputer.UserName, 7))))
Next
EmployeeName = internal_Username
End Property
End Class
Dim objEmployee
Set objEmployee = New GetUserName
WScript.Echo objEmployee.EmployeeName
我收到错误说
Microsoft VBScript runtime error (13, 4) : Object doesn't support this property or method: 'internal_colComputer.UserName'
答案 0 :(得分:2)
尝试更改行
internal_Username = LCase(Right(internal_colComputer.UserName, Len(internal_colComputer.UserName) - Len(Left(internal_colComputer.UserName, 7))))
到
internal_Username = LCase(Right(objComputer.UserName, Len(objComputer.UserName) - Len(Left(objComputer.UserName, 7))))
我怀疑(虽然我不确定)UserName
是objComputer
的属性,而不是你正在循环的集合。
答案 1 :(得分:0)
>> cnHeadLen = 8
>> s = "CONTOS\firstname.lastname"
>> WScript.Echo Mid( s, cnHeadLen )
>>
firstname.lastname