浏览代码

fix add-lindevuser for existing users

Tobias Simetsreiter 2 年之前
父节点
当前提交
d84ed5bf57
共有 2 个文件被更改,包括 13 次插入22 次删除
  1. 12 6
      bin/Add-LindevUser.ps1
  2. 1 16
      lib/lindev_users.ps1

+ 12 - 6
bin/Add-LindevUser.ps1

@@ -10,16 +10,22 @@ $newUser = Get-ADUser $Identity -Properties uidNumber,gidNumber
 $users = Get-ADGroupMember $ADGroup |
     Get-ADUser -Properties uidNumber,gidNumber,UserPrincipalName
 
+$userInGroup = $false
 $users | %{
     if ($_.UserPrincipalName -eq $newUser.UserPrincipalName){
         $newUser
-        throw "User Exists in Group"
+        $userInGroup = $true
     }
 }
 
-$newUser.uidNumber = ($users | Measure-Object -Property "uidNumber" -Maximum).Maximum + 1
-$newUser.gidNumber = 10000
-$newUser
+if (-not $userInGroup) {
+    Add-ADGroupMember -Identity $ADGroup -Members $newUser
+}
 
-Add-ADGroupMember -Identity $ADGroup -Members $newUser
-Set-ADUser -Identity $newUser -add @{uidNumber=$newUser.uidNumber; gidNumber=$newUser.gidNumber}
+if ($newUser.uidNumber -eq $null) {
+    $newUser.uidNumber = ($users | Measure-Object -Property "uidNumber" -Maximum).Maximum + 1
+    $newUser.gidNumber = 10000
+    $newUser
+    
+    Set-ADUser -Identity $newUser -add @{uidNumber=$newUser.uidNumber; gidNumber=$newUser.gidNumber}
+}

+ 1 - 16
lib/lindev_users.ps1

@@ -4,9 +4,7 @@
 
 param (
 	$wtserver = "WUFPADC0001.ad.wabtec.com",
-	$wtgroup = "CN=ANG_lindev-login,OU=ANG-Brunnthal-Germany,OU=Groups,OU=_WABTEC-SITES,DC=ad,DC=wabtec,DC=com",
-	[switch]$newcred = $false,
-	[switch]$nocred = $false # is login user has ad rights
+	$wtgroup = "CN=ANG_lindev-login,OU=ANG-Brunnthal-Germany,OU=Groups,OU=_WABTEC-SITES,DC=ad,DC=wabtec,DC=com"
 )
 
 Import-Module -Name ActiveDirectory
@@ -16,25 +14,12 @@ $psargs=@{
 	Server=$wtserver
 }
 
-if (-not $nocred){
-	if ((-not $global:wtcred) -or $newcred){
-		$global:wtcred = Get-Credential -Message "Enter Wabtec Account"
-	}
-	
-	if ($null -ne $global:wtcred){
-		$psargs.Credential=$global:wtcred
-	}
-}
-
 get-adgroupmember @psargs | % {
 	$groupmemargs = @{
 		Identity=$_
 		Server=$wtserver
 		Properties=@("uidnumber","gidnumber","mail","enabled")
 	}
-	if ($null -ne $global:wtcred){
-		$groupmemargs.Credential=$global:wtcred
-	}
 	get-aduser @groupmemargs
 } |
 	select UserPrincipalName,uidnumber,gidnumber,mail,enabled |