Public/get-AllegisInUseUsername.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
function get-AllegisInUseUsername { [cmdletbinding()] param( [Parameter(Mandatory)] [string]$username, [pscredential]$adcred, [string]$adforest, [boolean]$corpAD=$true, [boolean]$ASQL=$false, [string]$sqlserver, [pscredential]$sqlcred, [string]$sqldatabase, [string]$sqltable, [boolean]$azureAD=$false, [boolean]$snow=$false, [string]$snowEnv, [pscredential]$snowcred, [boolean]$fim=$false, [string]$fimservice, [string]$FIMuri, [PSCredential]$fimcred, [boolean]$IdentityNow=$false, [string]$IDNOrg, [string]$IDNClientID, [string]$IDNSecret ) $found=$false if (-not $found -and $ASQL) { $params = @{ 'Database' = $sqldatabase 'ServerInstance' = $sqlserver 'Username' = $sqlcred.UserName 'Password' = $sqlcred.GetNetworkCredential().Password 'Query' = "select * from [dbo].[$sqltable] where mailnickname='$username'" } $user=Invoke-Sqlcmd @params if ($user -ne $null){ $found=$true } } if (-not $found -and $corpad){ if ($adcred -eq $null){ $user=get-aduser -filter {samaccountname -eq $username -or mailnickname -eq $username} -server $adforest }else{ $user=get-aduser -filter {samaccountname -eq $username -or mailnickname -eq $username} -server $adforest -Credential $adcred } if ($user -ne $null){ $found=$true } } if (-not $found -and $azureAD) { $user=$null if ($user -ne $null){ $found=$true } } if (-not $found -and $snow) { $user=get-AllegisSnowUser -snowenv $snowEnv -snowcred $snowcred -uid $username if ($user -ne $null){ $found=$true } } if (-not $found -and $fim) { $user=get-AllegisFIMUser -accountname $username -fimservice $fimservice -FIMuri $FIMuri -fimcred $fimcred if ($user -ne $null){ $found=$true } } if (-not $found -and $IdentityNow) { $user=get-AllegisIDNIdentity -orgname $IDNOrg -uid $username -IDNClientID $idnclientid -IDNClientKey $IDNSecret -SearchAPI if ($user -ne $null){ $found=$true } } return $found } |