I have tried doing a recursive lookup on the group but can't seem to get it to work. I am working on a native win2k network and dealing with Global groups only. Here is the code I am trying:
code:
  
$DomainName = "Dirtdevil"
$computer = "@WKSTA"
$account = "WinNT://$DomainName/" + $computer + "$$"
$Group = "MScI - OS Service Pack"
$SP= "2600.xpsp1"

$aGroup = GetObject("WinNT://$DomainName/$Group")
$Members = $aGroup.Members
for each $member in $Members
? "Member: " + $member.name
next
if $aGroup.IsMember($account)
? "Is a Member"
if not ($os_service_pack>=$sp)
shell $XPSPScript
endif
endif
endif

I know I am doing this wrong. I am trying to learn as I go right now. I also found this note on the MSDN Site:

"The IADsGroup interface has an IADsGroup::IsMember method. This method returns TRUE if the specified object is a direct member of the group, that is, the group's member property contains the specified object.

Note A group can contain other groups (nesting). The IADsGroup::IsMember method does not recursively check the member properties of groups in its member property, groups within those groups, and so on. To recursively check if an object is a member of a group, you must enumerate the groups in the member property, check the members of those groups to see if the object is a member, and if those groups contain other groups, check their members, and so on."

How do I do this?