diff --git a/Creation-Groupe.ps1 b/Creation-Groupe.ps1 new file mode 100644 index 0000000..8031e16 --- /dev/null +++ b/Creation-Groupe.ps1 @@ -0,0 +1,40 @@ +<# + .Example + $csv = Read-Host -Prompt "Please provide full path to Groups csv file" + .\Creation-Groupe.ps1 -CSVfile $csv -Verbose + PS C:\Tools> $csv = Read-Host -Prompt "Please provide full path to Groups csv file" + Please provide full path to Groups csv file: c:\tools\groups.csv + PS C:\Tools> .\Creation-Groupe.ps1 -CSVfile $csv -Verbose + VERBOSE: Creating new Group 'Tier0ReplicationMaintenance' under 'OU=Groups,OU=Tier0,OU=Admin,DC=azureblog,DC=pl' + VERBOSE: Creating new Group 'Tier1ServerMaintenance' under 'OU=Groups,OU=Tier1,OU=Admin,DC=azureblog,DC=pl' + VERBOSE: Creating new Group 'ServiceDeskOperators' under 'OU=Groups,OU=Tier2,OU=Admin,DC=azureblog,DC=pl' + VERBOSE: Creating new Group 'WorkstationMaintenance' under 'OU=Groups,OU=Tier2,OU=Admin,DC=azureblog,DC=pl' + VERBOSE: Group 'tier1admins'already exists. + VERBOSE: Group 'tier2admins'already exists. +#> + +[CmdletBinding()] +param( + [string] $CSVfile +) +$dNC = (Get-ADRootDSE).defaultNamingContext +$groups = Import-Csv $CSVfile +foreach ($group in $groups) { + $groupName = $group.Name + $groupOUPrefix = $group.OU + $destOU = $group.OU + "," + $dNC + $groupDN = "CN=" + $groupName + "," + $destOU + $checkForGroup = Get-ADGroup -filter 'Name -eq $groupName' -ErrorAction SilentlyContinue + If ($checkForGroup.count -eq 0 ) { + Write-Verbose "Creating new Group '$($Group.samAccountName)' under '$destOU'" + New-ADGroup -Name $Group.Name -SamAccountName $Group.samAccountName -GroupCategory $Group.GroupCategory -GroupScope $Group.GroupScope -DisplayName $Group.DisplayName -Path $destOU -Description $Group.Description + If ($Group.Membership -ne "") { + Write-Verbose "Adding Group Membership '$($Group.Membership)' for group '$($Group.samAccountName)'" + Add-ADPrincipalGroupMembership -Identity $Group.samAccountName -MemberOf $Group.Membership + } + $error.Clear() + } + Else { + Write-Verbose "Group '$($Group.samAccountName)'already exists." + } +}