WinBatch® Technical Support Forum

All Things WinBatch => WinBatch => Topic started by: limnos on June 10, 2014, 01:21:34 PM

Title: Need to add Computer account to local admins - wntMemberSet errors
Post by: limnos on June 10, 2014, 01:21:34 PM
The only command I know to add an account would be wntMemberSet, but it returns an "invalid user\group name" when I try to add a computer based account to local admins using WB script.  Is there any way to add a computer account with WB script to the local admins group?  Obviously, this can be done with VB script, but I want to use WB if possible.
Title: Re: Need to add Computer account to local admins - wntMemberSet errors
Post by: Deana on June 10, 2014, 03:27:39 PM
See wntUserAddDat and wntUserAdd in the Win32 Network Extender help file.

Here is a Win32 Network Extender sample:
Code (winbatch) Select

username = "fflintstone"   ;USERNAME TO ADD
first = "Fred"                   ;USERS FIRSTNAME
last =  "Flintstone"           ;USERS LASTNAME
pswd = "bambam"            ;USERS PASSWORD
If !wntUserExist("", username,0) Then
      wntUserAddDat("name",first)
      wntUserAddDat("full_name",StrCat(first," ",last))
      wntUserAddDat("comment",StrCat(first," ",last, " User Account"))
      wntUserAddDat("password",pswd)
      wntUserAddDat("flags",1)
      wntUserAddDat("acct_expires","0000:00:00:00:00:00")
      wntUserAdd("")
      Display(2,Title,"Added Account")
Else
      Display(2,Title,"Account Already Exists")
EndIf
If   wntMemberSet("","Administrators",username,@LOCALGROUP,0) Then
      Display(2,Title,"Added to Group")
Else
      Display(2,Title,"Unable to add to Group, or Already a member.")
EndIf
Display(2,Title,"Operation Complete.")
Exit


If you working with an Active directory environment, here is an example of how it is done with the ADSI extender:  http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WIL~Extenders/ADSI+Add~a~user~to~a~OU.txt

Title: Re: Need to add Computer account to local admins - wntMemberSet errors
Post by: limnos on June 11, 2014, 12:03:01 PM
Yeah, tried that already. The rub is I need to add a "computer" account, not a user or group.  Which isn't normally done.  That command definitely chokes on adding a computer account to a local group in an active directory environment.  But, quick and dirty solution:  create a .cmd file with this in it:  Net localgroup Administrators AD\COMPUTERNAME$ /ADD  Then just copy that down and run the cmd with a winbatch wrapper.  Works like a charm.
Title: Re: Need to add Computer account to local admins - wntMemberSet errors
Post by: td on June 11, 2014, 01:07:45 PM
Assuming that the computer to be added and the computer who's group you are adding to are members of the same domain or workgroup, you might be able to use the ADSI extender's dsAddToGrp function to accomplish the same task.  You would also likely need to use the "WinNT://" namespace in your paths instead of the more common "LDAP://" namespace.

I haven't tried to so I can't say for sure that it would work.
Title: Re: Need to add Computer account to local admins - wntMemberSet errors
Post by: Deana on June 11, 2014, 02:30:17 PM
Sorry I missed that fact that is was a computer account. Tony's right...use the ADSI extender's dsAddToGrp function:
http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/tsleft.web+WIL~Extenders/ADSI/Samples~from~Users+Add~Computer~to~an~Active~Directory~Group.txt
Title: Re: Need to add Computer account to local admins - wntMemberSet errors
Post by: ChuckC on June 12, 2014, 12:20:27 PM
Just out of curiosity...

When attempting to use wntMemberSet() to make a computer account a member of the built-in Administrators group on a domain member computer, what were the actual parameter values that were specified in the function call?  In particular, wast the computer account name "<computer>$", where "<computer>" is the NetBIOS name of the computer?

Title: Re: Need to add Computer account to local admins - wntMemberSet errors
Post by: td on June 12, 2014, 12:51:21 PM
Good question.   One would think the wntMemberSet function should be able to add a computer to the admin group.
Title: Re: Need to add Computer account to local admins - wntMemberSet errors
Post by: ChuckC on June 26, 2014, 09:00:45 AM
I vaguely recall that the extender did some validation of the value of a SidUse output parameter that identified the type of account that the SID is associated with.  Perhaps that validation code is only allowing user and group accounts to be processed and is returning an error for other account types.  Remember, this code was originally written for use with WinNT v4.0, and so it is dealing with SAM Account types, not AD object types, and so there may be some weirdness involved when trying to use the SAM Account for a computer in AD as the member that is being added to a local group on a workstation or server.