Vbscript函数打印输出
我已创建VBscript以枚举组中的用户Vbscript函数打印输出,vbscript,wmic,windows-scripting,Vbscript,Wmic,Windows Scripting,我已创建VBscript以枚举组中的用户 Function GetUserInGroup() strComputer = "localhost" Set colGroups = GetObject("WinNT://" & strComputer & "") colGroups.Filter = Array("group") For Each objGroup In colGroups For Each objUser in objGroup.Members
Function GetUserInGroup()
strComputer = "localhost"
Set colGroups = GetObject("WinNT://" & strComputer & "")
colGroups.Filter = Array("group")
For Each objGroup In colGroups
For Each objUser in objGroup.Members
If objUser.name = "yayantritaryana" Then
WScript.stdout.write objGroup.Name + " "
End If
Next
Next
End Function
WScript.stdout.write "Group=" + GetUserInGroup
但是当我执行它时,输出并不是我所期望的
我想要的输出是
Group=Administrator SQLAdmin Sysadmin
有人能帮我吗?A有一个目的(例如,传递一串以空格分隔的组名)。为此,将所需结果指定给函数名(其他语言使用某种返回语句):
输出:
cscript 29053176.vbs
Group=pi pa po
函数不应该有(像您的
WScript.stdout.write objGroup.Name + " "
在脚本最后一行输出“Group=”之前,将名称打印到控制台。而是连接objGroup.Names
字符串连接的运算符为
函数调用的参数列表(可能为空)必须用()括起来;这些参数列表()对于调用是非法的
一些额外的代码供思考:
Function GetUserInGroup()
For Each s In Split("pi pa po")
GetUserInGroup = GetUserInGroup & s & "*"
' GetUserInGroup = GetUserInGroup() & s & "*"
Next
End Function
WScript.stdout.write "Group=" & GetUserInGroup()
Function GetUserInGroup()
For Each s In Split("pi pa po")
GetUserInGroup = GetUserInGroup & s & "*"
' GetUserInGroup = GetUserInGroup() & s & "*"
Next
End Function
WScript.stdout.write "Group=" & GetUserInGroup()