Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Import-Module ActiveDirectory
- . .\Forums_Utility.ps1
- function GetADGroupMembers($group)
- {
- return Get-ADGroupMember -identity $group -Recursive | Get-ADUser -Property name, SAMaccountname, mail | Select Name, mail, @{Label="username";Expression={$_.SAMaccountname.ToLower()}}
- }
- function ADUserExistDiscourseGroup($ad_mail, $dis_group)
- {
- return (GetGroupUsers $dis_group).email -contains $ad_mail.ToLower()
- }
- function DiscourseUserExistADGroup($dis_email, $ad_group)
- {
- return (GetADGroupMembers $ad_group).mail -contains $dis_email.ToLower()
- }
- function SyncADGrouptoDiscourse($ad_group, $dis_group){
- foreach($user in (GetADGroupMembers $ad_group))
- {
- if(!(ADUserExistDiscourseGroup $user.mail $dis_group))
- {
- AddUserToGroup $user.mail $dis_group
- Write-Host "adding" $user.mail
- }
- }
- foreach($user in (GetGroupUsers $dis_group))
- {
- if(!(DiscourseUserExistADGroup $user.email $ad_group))
- {
- RemoveUserFromGroup $user.email $dis_group
- Write-Host "removing" $user.email
- }
- }
- }
- #LIST GROUPS HERE TO BE SYNCED
- SyncADGrouptoDiscourse "discourse-grpname" "AD_GroupName"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement