Heres one I put together for a win2k box...
' Create WSH objects and populate with data from the Domain/AD
set wshNetwork = WScript.CreateObject("WScript.Network"

set wshShell = WScript.CreateObject("WScript.Shell"
' Wait for up to 30 seconds for the user-specific data to be located and loaded from Domain/AD
HurryUp = Timer + 30
Do
Wscript.Sleep 100 ' Check every 100mS
Loop until wshNetwork.username <> "" or HurryUp < Timer
If wshNetwork.username="" then ProblemGettingDomainData
' Set some variables
User = wshNetwork.username
Domain = wshNetwork.userdomain
computer = wshNetwork.computername
' Determine the users Domain/AD Group membership
adspath="WinNT://" & domain & "/" & user
' Create an object and populate it with user account properties from the Domain/AD
set adsobj = getobject(adspath)
' Map Drives based on Group Membership
' Users can belong to many groups. The group name for every group that the user belongs to is
' passed through a "select case" test. If the group name under test matches any "case" statement,
' then the line(s) under the "case" statement is actioned.
' The checkNetworkMapping("x:"

is a function used to check if a drive is already mapped to the
' requested drive letter. It returns False if the letter is available.
' The mapNetwork subroutine will map a drive letter to a UNC path. If the path is invalid or
' unavailable, the routine will popup a warning message for 3 seconds then carry on.
for each prop in adsobj.groups ' Cycle through the user's group membership list
select case prop.name ' Pass the name of the group through the following filter
case "groupname" ' User is a member of this group so...
'if checkNetworkMapping("S:"

= false then mapNetwork "S:", "\\servername\sharename"
case "printergroupname" ' User is a member so map printer...
mapPrinter "\\printservername\printsharename"
defPrinter "\\printservername\printsharename"
end select ' Finish the filter test for this group name
next ' Loop around until every entry in the group membership list has been tested
' Sub Routines and Functions called by the master script
function checkNetworkMapping(Driveletter)
' See if the drive letter is already mapped
dim drive
checkNetworkMapping = false
for each Drive in wshNetwork.enumNetworkDrives
if LCase(Drive) = LCase(DriveLetter) then
CheckNetworkMapping = True ' Drive already mapped
Exit For
end if
next
end function
sub mapNetwork(driveletter, netshare)
' Map a drive
on error resume next ' If mapping fails then carry on
err.clear
wshNetwork.mapNetworkDrive driveletter, netshare, false
if err <> 0 then
' Drive mapping failed, display a popup message window for 2 seconds
ignore = WshShell.Popup("Error Mapping Drive " + driveletter , 2, "Company Name - New Zealand", 48)
end if
end sub
Sub mapPrinter(prnshare)
On Error Resume Next
err.clear
WshNetwork.AddWindowsPrinterConnection prnshare
if err <> 0 then
' printer share failed, display a popup message window for 2 seconds
ignore = WshShell.Popup("Printer " + prnshare + " already connected.", 2, "Company Name - New Zealand", 48)
end if
End Sub
Sub defPrinter(pshare)
' On Error Resume Next
' err.clear
' WshNetwork.SetDefaultPrinter pshare
' if err <> 0 then
' ' printer share failed, display a popup message window for 2 seconds
' ignore = WshShell.Popup("Default printer already mapped " + pshare , 2, "Company Name - New Zealand", 48)
' end if
End Sub
sub ProblemGettingDomainData
' Couldn't get the Domain/AD data within 30 seconds
wscript.Echo "Failed to access Domain/AD account data"
Wscript.Quit ' Quit
end sub