Public/get-AllegisUsername.ps1
function get-AllegisUsername { [cmdletbinding()] param( [Parameter(Mandatory)] [ValidateSet('firstInitial','fullName')] [string] $scheme='firstInitial', $firstname, $lastname, $maxlength=14, $iteration) $firstname=$firstname -replace '[\W]', '' $lastname=$lastname -replace '[\W]', '' if ($scheme -eq 'firstInitial') { $firstlength=$iteration+1 $overflow=$firstlength-$firstname.length if ($overflow -ge 1) { $username=$firstname.Substring(0,1) + $lastname $over=($username.Length + $overflow.ToString().length)-$maxlength if ($over -ge 1){ $username=$username.Substring(0,$maxlength-$overflow.ToString().length) } $username=$username+$overflow }else{ $username=$firstname.Substring(0,$iteration+1) + $lastname $over=($username.Length)-$maxlength if ($over -ge 1){ $username=$username.Substring(0,$maxlength-$overflow.ToString().length) } } }elseif($scheme -eq 'fullName') { if ($iteration -eq 0){ $username=$firstname +'.' + $lastname if ($username.Length -gt $maxlength){ $username=$username.Substring(0,$maxlength) } }else{ $username=$firstname +'.' + $lastname if ($username.Length + $iteration.ToString().length -gt $maxlength){ $username=$username.Substring(0,$maxlength-$iteration.ToString().length) } $username=$username+$iteration.ToString() } } return $username } |