【VBScript メモ】 所属するセキュリティ グループを取得する
カテゴリー:[スクリプト] 投稿日 : 2010年02月17日 1時05分
自分自身が所属するActive Directory セキュリティ グループを取得する VBScript 関数のメモ。
戻り値は配列になります。
これだとプライマリ グループが拾えないが、その辺はMSの KB321360 ネイティブな ADSI コンポーネントを使用してプライマリ グループを取得する方法 あたりでできそうなので後で実装する予定。
あと、多分これでは外部フォレスト (フォレスト信頼済み) のセキュリティ グループは拾えないと思うので、そこをどうするかが課題。だれか教えてください。(´・ω・`)
2010/7/26 追記
5か月越しの追記もどうかと思いますが、信頼済みの外部フォレストのセキュリティ グループは普通に拾えました。
Function GetSecGroupName()
Dim oADSI, oUser, oGroup
Dim aGroups, aGroupNames
Dim sGroup
Set oADSI = CreateObject("ADSystemInfo")
Set oUser = GetObject("LDAP://" & oADSI.UserName)
Select Case TypeName(oUser.MemberOf)
Case "Variant()"
aGroups = oUser.MemberOf
Case "String"
aGroups = Array(oUser.MemberOf)
Case Else
aGroups = Array(Empty)
End Select
ReDim aGroupNames(Ubound(aGroups))
i = 0
For Each sGroup In aGroups
If Len(sGroup) > 0 Then
Set oGroup = GetObject("LDAP://" & sGroup)
aGroupNames(i) = UCase(oGroup.CN)
End If
i = i + 1
Next
GetSecGroupName = aGroupNames
Set oADSI = Nothing
Set oUser = Nothing
Set oGroup = Nothing
End Function
関連記事:
タグ: VBScript
コメントをどうぞ