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

我已创建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
        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()