Add-LindevUser.ps1 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. param(
  2. $Identity,
  3. $ADGroup="CN=ANG_lindev-login,OU=ANG-Brunnthal-Germany,OU=Groups,OU=_WABTEC-SITES,DC=ad,DC=wabtec,DC=com"
  4. )
  5. $ErrorActionPreference = 'Stop'
  6. $newUser = Get-ADUser $Identity -Properties uidNumber,gidNumber
  7. $users = Get-ADGroupMember $ADGroup |
  8. Get-ADUser -Properties uidNumber,gidNumber,UserPrincipalName
  9. $userInGroup = $false
  10. $users | %{
  11. if ($_.UserPrincipalName -eq $newUser.UserPrincipalName){
  12. $newUser
  13. $userInGroup = $true
  14. }
  15. }
  16. if (-not $userInGroup) {
  17. "Adding User to Group $ADGroup" | Out-Host
  18. Add-ADGroupMember -Identity $ADGroup -Members $newUser
  19. } else {
  20. "User already in Group $ADGroup" | Out-Host
  21. }
  22. if ($null -eq $newUser.uidNumber) {
  23. $nextUid = [int](($users | Measure-Object -Property "uidNumber" -Maximum).Maximum + 1)
  24. "Setting User ID to Group $nextUid" | Out-Host
  25. Set-ADUser -Identity $newUser -add @{
  26. uidNumber=$nextUid
  27. gidNumber=10000
  28. }
  29. } else {
  30. "User already has uidNumber $($newUser.uidNumber)" | Out-Host
  31. }