- Copy the script in a notepad and save it as 'Add_ADGroups_Members.ps1'
- Use the same format for csv and add your own groups and update csv based on your domain and path and save it in the same folder as your script.
- Both script and csv are saved in the desktop
- Open powershell as Administrator (or ) Windows Powershell ISE that comes along with debugging. Using Powershell ISE can skip 5 thru 8 and open your script and hit F5
- In the powershell Navigate to your desktop (where script and csv are present)
- Set-ExecutionPolicy RemoteSigned
- Click Yes
- Now run the script by typing ./Add_ADGroups_Members.ps1
- check your AD groups getting created along with members added
Note: Users Domain is different to domain where groups are being created. You can have the same domain too, depending on your environment
# Import active directory module for running AD cmdlets
Import-Module ActiveDirectory
$Users = Import-Csv -Path "C:\Desktop\AD_input.csv"
foreach ($User in $Users)
{
$GroupName = $User.'GroupName'
$samAccountName= $User.'samAccountName'
write-host Current AD Group Name is $GroupName and accounts to add are $samAccountName
Try
{
#Check if the Group already exists
write-host checking to see if group $User.GroupName exists
$exists = Get-ADGroup $User.GroupName
Write-Host "Group $($User.GroupName) already exists! skipping group creation!"
}
Catch
{
#Create the group if it doesn't exist
$create = New-ADGroup -Name $GroupName -GroupScope $User.GroupType -Path $User.GroupLocation -Description $User.GroupDescription
Write-Host AD Group $GroupName created!
}
# Parse prospective members and add each to the new group. (multiple users to be added to same group)
$Members = $User.samAccountName.Split(";")
ForEach ($Member In $Members)
{
write-host Adding member $Member
$DomainGroupDN = Get-ADGroup -Identity $GroupName -Server ou.ad3.abc.com
$SamDN = Get-ADUser $Member -Server ad3.abc.com
Add-ADGroupMember $DomainGroupDN -Server ou.ad3.abc.com-Members $SamDN
$Member = ""
}
Write-Host Members $Members added to Group $GroupName
}
Spreadsheet: (save it as *.csv)
GroupName,GroupDescription,GroupType,GroupLocation,samAccountName
Test1,TestDescription1,DomainLocal,"OU=TESTOU,DC=ou,DC=ad3,DC=abc,DC=com","ramii;mreck"
Test2,TestDescription2,DomainLocal,"OU=TESTOU,DC=ou,DC=ad3,DC=abc,DC=com","larzi;mkhill"
No comments:
Post a Comment