Solved

VB script to get the group name's description in Active Directory

Posted on 2008-06-24
5
1,798 Views
Last Modified: 2008-10-14
With the following code I can get the groups that belong to an OU. Now I would like to add some code to the one below so I can get the group's description. Any help will be very much appreciated.

strGroupDN = "GroupDN"
strSpaces = ""
set dicSeenGroupMember = CreateObject("Scripting.Dictionary")
Wscript.Echo "GROUP:"
Wscript.Echo ""
Wscript.Echo "MEMBERS:"
DisplayMembers "LDAP://" & strGroupDN, strSpaces, dicSeenGroupMember
Function DisplayMembers (strGroupADsPath, strSpaces, dicSeenGroupMember)
set objGroup = GetObject(strGroupADsPath)
for each objMember In objGroup.Members
Wscript.Echo strSpaces & objMember.Name
if objMember.Class = "group" then
if dicSeenGroupMember.Exists(objMember.ADsPath) then
Wscript.Echo strSpaces & "already seen group member" & _
"(stopping to avoid loop)"
else
dicSeenGroupMember.Add objMember.ADsPath, 1
DisplayMembers objMember.ADsPath, strSpaces & "  " , _
dicSeenGroupMember
end if
end if
next
End Function
0
Comment
Question by:kt2003
  • 3
  • 2
5 Comments
 
LVL 28

Expert Comment

by:omgang
ID: 21856481
objGroup.Description

OM Gang
0
 

Author Comment

by:kt2003
ID: 21856524
omgang. Thank you for your quick response. I don't know much about VB script. Could you please write some code.
0
 
LVL 28

Accepted Solution

by:
omgang earned 500 total points
ID: 21856547
Outputs Group name, Group e-mail addy & Group Description
OM Gang
Option Explicit
Dim strMember, strDNSDomain, strContainer, strPath, strFileName
Dim objGroup, objRootDSE, objParentOU, objFSO, objFile
Dim arrMemberOf
 
strContainer = "OU=Groups,OU=IT, "
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
 
strPath = "C:\temp\"
strFileName = Trim(strContainer) & ".txt"
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(strPath & strFileName)
 
Set objParentOU = GetObject("LDAP://"& strContainer & strDNSDomain)
objParentOU.Filter = Array("Group")
 
For Each objGroup in objParentOU
      objFile.WriteLine objGroup.CN & "|" & objGroup.Mail & "|" & objGroup.Description
Next
 
WScript.echo "Completed.  See output file " & strPath & strFileName
 
WScript.Quit
 
objFile.Close
 
Set objFile = Nothing
Set objGroup = Nothing
Set objParentOU = Nothing
Set objFSO = Nothing
Set objRootDSE = Nothing

Open in new window

0
 

Author Comment

by:kt2003
ID: 21856657
omgang, could please integrate the objGroup.Description with the code that I wrote? Many thanks in advance.
0
 

Author Comment

by:kt2003
ID: 21856902
omgang. It is ok. I have already changed the script and it is working.
Thank you.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Hello again, all.  For those of you that have been following along, you'll know that this is my third article on this topic (though it is not Part III).  This article is sort of remedial, and probably the topic with which I should have started the s…
Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question (Question ID  (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_28455246.html)28455246) Here (http…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question