This commit is contained in:
Zack Meier
2026-04-15 15:42:41 -05:00
parent 74edcc4d9a
commit 03dba08135
146 changed files with 9119 additions and 1 deletions
+49
View File
@@ -0,0 +1,49 @@
### fill in first three lines with csv path and distribution group names
$Import = Import-Csv 'D:\Downloads\nd-all-managers.csv' -Header DeptNum,CAPSUPN,UPN,Name,Cabinet
$AllStateGroupName = ''
$CabinetGroupName = ''
$AllStateGroup = Get-DistributionGroup -Identity $AllStateGroupName
$AllStateGroupMembers = $AllStateGroup | Get-DistributionGroupMember
$CabinetGroup = Get-DistributionGroup -Identity $CabinetGroupName
$CabinetGroupMembers = $CabinetGroup | Get-DistributionGroupMember
$CompareAllState = Compare-Object -ReferenceObject $Import -DifferenceObject $AllStateGroupMembers -IncludeEqual
# <= Add to Group
# == No change
# => Remove from group
$AllStateUsersToAdd = $Compare | Where-Object SideIndicator -eq '<='
$AllStateUsersToRemove = $Compare | Where-Object SideIndicator -eq '=>'
ForEach($User in $AllStateUsersToAdd)
{
Add-DistributionGroupMember -Identity $AllStateGroupName -Member $User
}
ForEach($User in $AllStateUsersToRemove)
{
Remove-DistributionGroupMember -Identity $AllStateGroupName -Member $User
}
$CompareCabinetManagers = Compare-Object -ReferenceObject ($Import | Where-Object Cabinet -eq 'Y') -DifferenceObject $CabinetGroupMembers -IncludeEqual
# <= Add to Group
# == No change
# => Remove from group
$CabinetUsersToAdd = $Compare | Where-Object SideIndicator -eq '<='
$CabinetUsersToRemove = $Compare | Where-Object SideIndicator -eq '=>'
ForEach($User in $CabinetUsersToAdd)
{
Add-DistributionGroupMember -Identity $CabinetGroupName -Member $User
}
ForEach($User in $CabinetUsersToRemove)
{
Remove-DistributionGroupMember -Identity $CabinetGroupName -Member $User
}