The search filter at the top should replace the one on the bottom.

The PC also needs to be a member of the domain or you need to specify it 
manually, instead of using get current domain.

________________________________
From: [email protected] <[email protected]> on behalf 
of Murray, Mike <[email protected]>
Sent: Wednesday, June 22, 2016 9:38:50 AM
To: [email protected]
Subject: RE: [mssms] RE: VB Script to add user to security group during imaging?

Makes sense. I’m still having problems with the original, though. Here is the 
updated script that reads in the parameters. I get the error listed below the 
code. I Googled, but couldn’t find anything definitive. I am running this 
script as a user with domain admin.


Param (

       [Parameter(Mandatory = $true, HelpMessage = "AD Group 
(distingiushedname)", Position = 0)]
       [string]$ADGroup,
       [Parameter(Mandatory = $true, HelpMessage = "User Sammacount”, Position 
= 1)]
       [string]$userName

)
$search.Filter = "(SAMAccountName=$userName)"


#Distinguished Name of group
$name = $ADGroup

#Get Domain
$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$root = $domain.GetDirectoryEntry()

#Find user in Domain
$search = [System.DirectoryServices.DirectorySearcher]$root
$search.Filter = "(SAMAccountName=$env:USERNAME)"
$result = $search.FindOne()
$user = [ADSI]$result.path

#Set Group Name
$Ldap = "LDAP://" + $name
[ADSI]$group = $LDAP

#Add Computer to Named Group
$group.psbase.Invoke("Add",$user.psbase.path)

Exception calling "Invoke" with "2" argument(s): "The server is not operational.
"
At C:\Users\mmurray\Desktop\CM2012 Project\OSD PS Scripts\AddUserToGroup.ps1:30 
char:1
+ $group.psbase.Invoke("Add",$user.psbase.path)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException




From: [email protected] [mailto:[email protected]] On 
Behalf Of Ryan
Sent: Wednesday, June 22, 2016 5:24 AM
To: [email protected]
Subject: Re: [mssms] RE: VB Script to add user to security group during imaging?


The original script doesn't use the AD cmdlets so it should work in WinPE.

On Tue, Jun 21, 2016, 5:21 PM Murray, Mike 
<[email protected]<mailto:[email protected]>> wrote:
This doesn’t seem to be working via the TS. I’m guessing because the AD PS 
module is not in our image. Anyone else have anything that might work for this?

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>] 
On Behalf Of Jerousek, Jeff
Sent: Tuesday, June 21, 2016 11:52 AM

To: [email protected]<mailto:[email protected]>
Subject: [mssms] RE: VB Script to add user to security group during imaging?

You are welcome.

We don’t use MDT but these scripts work best with the ad user you are running 
them as in the local admin group of that machine.

We add the SCCM user at the start of the task sequence and remove it at the end.

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Murray, Mike
Sent: Tuesday, June 21, 2016 12:43 PM
To: [email protected]<mailto:[email protected]>
Subject: [mssms] RE: VB Script to add user to security group during imaging?

I really appreciate your help! I was able to simplify this, I believe. I 
haven’t tested in OSD just yet, but it works running locally.

Param (

       [Parameter(Mandatory = $true, HelpMessage = "AD Group 
(distingiushedname)", Position = 0)]
       [string]$ADGroup,
       [Parameter(Mandatory = $true, HelpMessage = "User Sammacount”, Position 
= 1)]
       [string]$userName

)

Add-ADGroupMember -Identity $ADGroup -Members $userName





From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Jerousek, Jeff
Sent: Monday, June 20, 2016 11:27 AM
To: [email protected]<mailto:[email protected]>
Subject: [mssms] RE: VB Script to add user to security group during imaging?

It should if you do something like this:

Param (

       [Parameter(Mandatory = $true, HelpMessage = "AD Group 
(distingiushedname)", Position = 0)]
       [string]$ADGroup,
[Parameter(Mandatory = $true, HelpMessage = "User Sammacount” Position = 1)]
       [string]$userName

)
$search.Filter = "(sAMAccountName=$userName)"

Then call it with something like powershell.exe .\scriptName.ps1 –Adgroup 
%TSVar% -userName %TSVar2%

Thanks,
Jeff Jerousek<mailto:[email protected]>

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Murray, Mike
Sent: Monday, June 20, 2016 11:44 AM
To: [email protected]<mailto:[email protected]>
Subject: [mssms] RE: VB Script to add user to security group during imaging?

I need this to be able to read in the user name from a task sequence variable. 
Will this do that?

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Jerousek, Jeff
Sent: Monday, June 20, 2016 9:32 AM
To: [email protected]<mailto:[email protected]>
Subject: [mssms] RE: VB Script to add user to security group during imaging?

Here is PS script that I use:

Param (

       [Parameter(Mandatory = $true, HelpMessage = "AD Group 
(distingiushedname)", Position = 0)]
       [string]$ADGroup
)

#Distinguished Name of group
$name = $ADGroup

#Get Domain
$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$root = $domain.GetDirectoryEntry()

#Find user in Domain
$search = [System.DirectoryServices.DirectorySearcher]$root
$search.Filter = "(sAMAccountName=$env:USERNAME)"
$result = $search.FindOne()
$user = [ADSI]$result.path

#Set Group Name
$Ldap = "LDAP://" + $name
[ADSI]$group = $LDAP

#Add Computer to Named Group
$group.psbase.Invoke("Add",$user.psbase.path)


Thanks,
Jeff Jerousek<mailto:[email protected]>

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Murray, Mike
Sent: Monday, June 20, 2016 10:54 AM
To: [email protected]<mailto:[email protected]>
Subject: [mssms] RE: VB Script to add user to security group during imaging?

:bump:

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Murray, Mike
Sent: Thursday, June 16, 2016 4:26 PM
To: [email protected]<mailto:[email protected]>
Subject: [mssms] VB Script to add user to security group during imaging?

Hey folks,

I have the script below that adds the *computer* account to a security group 
via “CSCRIPT.EXE AddGroup.vbs "Group Name". Could someone help me modify it to 
add a user to the same group? The user would be a task sequence variable 
(OSDUser or whatever). Thanks in advance!

Const ADS_PROPERTY_APPEND = 3
Set WshShell = WScript.CreateObject("WScript.Shell")
'----Get Computer DN------

Set objADSysInfo = CreateObject("ADSystemInfo")
ComputerDN = objADSysInfo.ComputerName
strcomputerdn = "LDAP://" & computerDN
Set objADSysInfo = Nothing

'----Connect AD-----

Set oRoot = GetObject("LDAP://rootDSE")
strDomainPath = oRoot.Get("defaultNamingContext")
Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "Active Directory Provider"

Count = WScript.Arguments.Count
For i = 0 To  count-1
                Group = WScript.Arguments(i)
                Addgroup Group
Next

'----Get Group DN------
Function Addgroup(groupname)
                Set oRs = oConnection.Execute("SELECT adspath FROM 'LDAP://" & 
strDomainPath & "'" & "WHERE objectCategory='group' AND " & "Name='" & 
GroupName & "'")
                If Not oRs.EOF Then
                                strAdsPath = oRs("adspath")
                End If
                If IsEmpty(strAdsPath) = False  Then
                                Const ADS_SECURE_AUTHENTICATION = 1
                                Set objGroup = GetObject(stradspath)
                                Set objComputer = GetObject(strComputerDN)
                                If (objGroup.IsMember(objComputer.AdsPath) = 
False) Then
                                                objGroup.PutEx 
ADS_PROPERTY_APPEND, "member", Array(computerdn)
                                                objGroup.SetInfo
                                End If
                End If
End Function


Best Regards,

Mike Murray
Desktop Management Coordinator - IT Support Services
California State University, Chico
530.898.4357
[email protected]<mailto:[email protected]>

Remember, Chico State will NEVER ask you for your password via email!
For more information about recognizing phishing scam emails go to: 
http://www.csuchico.edu/isec/basics/spam-and-phishing.shtml














Reply via email to