  ' //////////////////////////////////
  ' // OSD Local Admins
  ' //////////////////////////////////////////////////////////////////////////////////////////////////////
  ' 1. Script will parse the TS variable "OSDAddAdmin" for a semicolon separated list of accounts.
  ' 2. Script will find the local administrator group name.
  ' 3. Script will add each account to the local administrator group
  ' //////////////////////////////////////////////////////////////////////////////////////////////////////

  
  Dim AdminArray
  Dim AdminGroup
  Dim TSVarAdmins
  
  wscript.echo
  wscript.echo "-------------------------------------"
  wscript.echo " Initializing TS Environment"
  wscript.echo "-------------------------------------"
  wscript.echo

  SET TSEnv = CreateObject("Microsoft.SMS.TSEnvironment")
  TSVarAdmins             = TSEnv("OSDAddAdmin")

  wscript.echo
  wscript.echo "-------------------------------------"
  wscript.echo " Finding Administrator Group Name"
  wscript.echo "-------------------------------------"
  wscript.echo
  
  Call GetAdminGroupName( AdminGroup )
 
  wscript.echo
  wscript.echo "-------------------------------------"
  wscript.echo " Parsing/Splitting Accounts"
  wscript.echo "-------------------------------------"
  wscript.echo

  AdminArray              = Split(TSVarAdmins, ";")
  
  For i = LBound(AdminArray) To UBound(AdminArray)
	Call AddUserAdmin ( Trim(AdminArray(i)), AdminGroup )
  Next

  wscript.echo
  wscript.echo "-------------------------------------"
  wscript.echo " Script End"
  wscript.echo "-------------------------------------"
  wscript.echo

  wscript.Quit (0)
  

  
  '########################################
  ' Add Administrator
  '########################################
  Sub AddUserAdmin(theUser, theGroup)
  
	Dim oWSH
	Dim oEXE
	Dim exeLine
	Dim outLine
	
	exeLine = "net localgroup " & theGroup & " /add " & Chr(34) & theUser & Chr(34)
	
	wscript.echo
	wscript.echo "-------------------------------------"
	wscript.echo " Add Administrator"
	wscript.echo "-------------------------------------"
	wscript.echo " [CMDEXE]: " & exeLine
	
	Set oWSH = CreateObject("Wscript.Shell")
	Set oEXE = oWSH.Exec(exeLine)

	outLine = oEXE.StdOut.ReadAll
	wscript.echo " [STDOUT]: " & outLine
	outLine = oEXE.StdErr.ReadAll
	wscript.echo " [STDERR]: " & outLine
	
  End Sub

  
  '########################################
  ' Get Administrator Group Name
  ' May vary from region-to-region
  '########################################
  Sub GetAdminGroupName( ByRef outName )
	Dim oWMI
	Dim oQRY

	Set oWMI = GetObject("winmgmts:\\.\root\cimv2")
	Set oQRY = oWMI.ExecQuery  ("Select * From Win32_Group Where LocalAccount = TRUE And SID = 'S-1-5-32-544'")
  
	For Each anAccount in oQRY
		outName = anAccount.Name
		wscript.echo "Group Name Found: [" & outName & "]"
	Next
  
  End Sub
  

