Jump to content
Sign in to follow this  
MJPollard

Add user to group

Recommended Posts

MJPollard

What's wrong with the following snippet:

Dim $UserGroup, $UserName

$UserGroup = "Guests"
$UserName = "xGuest"

;Add User to group 
$objGroup = ObjGet("WinNT://" & @ComputerName & "/" & $UserGroup)
$objUser = ObjGet("WinNT://" & @ComputerName & "/" & $UserName)
If $objGroup.IsMember($UserName) = False Then
    $objGroup.Add($objUser.ADsPath)
EndIf
    
; Runtime error on the following line with the error msg below
;   $objGroup.Add($objUser.ADsPath) 
; Error: The requested action with this object has failed.

Share this post


Link to post
Share on other sites
water

Do you want to add a local or a domain user to the group?

For domain user please see this link.

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
MJPollard

Do you want to add a local or a domain user to the group?

For domain user please see this link.

It is a local account. The thing is the thread you link to claims that it works for a local account. While the variables have a different name and I have a check, as far as I can tell my instruction to add the user to the group is exactly the same.

The other part that bothers me is that when I check the values as I step through this $objGroup and $objUser appear to be valueless but $objUser.ADsPath shows the expected information.

Edited by MJPollard

Share this post


Link to post
Share on other sites
MJPollard

What's wrong with the following snippet:

Dim $UserGroup, $UserName

$UserGroup = "Guests"
$UserName = "xGuest"

;Add User to group 
$objGroup = ObjGet("WinNT://" & @ComputerName & "/" & $UserGroup)
$objUser = ObjGet("WinNT://" & @ComputerName & "/" & $UserName)
If $objGroup.IsMember($UserName) = False Then
    $objGroup.Add($objUser.ADsPath)
EndIf
    
; Runtime error on the following line with the error msg below
;   $objGroup.Add($objUser.ADsPath) 
; Error: The requested action with this object has failed.

This is a corrected version that appears to be working. I've only included the instructions. The check was changed to 'If Not' and the .IsMember was changed to $objUser.ADsPath.

$objGroup = ObjGet("WinNT://" & @ComputerName & "/" & $UserGroup & ",group")
$objUser = ObjGet("WinNT://" & @ComputerName & "/" & $UserName & ",user")
If Not $objGroup.IsMember($objUser.AdsPath) Then
    $objGroup.Add ($objUser.AdsPath)
EndIf

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.