Vbscript 函数打印输出
Vbscript Function Print Output
我已经创建了 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 Function 有一个目的(例如,传递一串 space 分隔的组名)。为此,您将所需的结果分配给函数的名称(其他语言使用某种 return 语句):
Function GetUserInGroup()
GetUserInGroup = "pi pa po"
End Function
WScript.stdout.write "Group=" & GetUserInGroup()
输出:
cscript 29053176.vbs
Group=pi pa po
一个函数不应该有 side-effects(比如你的
WScript.stdout.write objGroup.Name + " "
将名称打印到控制台 before
你在脚本的最后一行输出 "Group=")。而是连接 objGroup.Names.
字符串连接运算符是&。
函数调用的参数列表(可能为空)必须用()括起来;这些参数列表 () 对于 Sub 调用是非法的。
一些额外的代码作为思考的食物:
Function GetUserInGroup()
For Each s In Split("pi pa po")
GetUserInGroup = GetUserInGroup & s & "*"
' GetUserInGroup = GetUserInGroup() & s & "*"
Next
End Function
WScript.stdout.write "Group=" & GetUserInGroup()
我已经创建了 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 Function 有一个目的(例如,传递一串 space 分隔的组名)。为此,您将所需的结果分配给函数的名称(其他语言使用某种 return 语句):
Function GetUserInGroup()
GetUserInGroup = "pi pa po"
End Function
WScript.stdout.write "Group=" & GetUserInGroup()
输出:
cscript 29053176.vbs
Group=pi pa po
一个函数不应该有 side-effects(比如你的
WScript.stdout.write objGroup.Name + " "
将名称打印到控制台 before
你在脚本的最后一行输出 "Group=")。而是连接 objGroup.Names.
字符串连接运算符是&。
函数调用的参数列表(可能为空)必须用()括起来;这些参数列表 () 对于 Sub 调用是非法的。
一些额外的代码作为思考的食物:
Function GetUserInGroup()
For Each s In Split("pi pa po")
GetUserInGroup = GetUserInGroup & s & "*"
' GetUserInGroup = GetUserInGroup() & s & "*"
Next
End Function
WScript.stdout.write "Group=" & GetUserInGroup()