以下の VBS 関数を実行して、現在のユーザーが特定のセキュリティ グループに属しているかどうかを確認すると、行でエラー #500 (変数が定義されていません) が発生しますstrGroup = LCase(Join(CurrentUser.MemberOf))
。
スクリプトで宣言してOption Explicit
いるので、それは驚くべきことではありません。ただし、変数 ( Dim strGroup
) を宣言すると、関数は動作を停止し、常に false を返します。
Function is_group_member(group)
Dim objNetwork
Dim objUser
Dim CurrentUser
' Set our default return value
is_group_member = False
' Directory Lookup
Set objNetwork = CreateObject("WScript.Network")
Set objUser = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & objUser.UserName)
strGroup = LCase(Join(CurrentUser.MemberOf))
' Set return value to true if the user is in the selected group
If InStr(strGroup, lcase(group)) Then
is_group_member = True
End If
End Function