Functions/New-MgUserCustom.ps1


function New-MgUserCustom {

    param (
        [parameter(mandatory = $true)][string]$UserPrincipalName,
        [string]$DisplayName,
        [string]$Password,
        [string]$PreferredLanguage = "nl-NL"
    )

    # $UserPrincipalName = "test.$(Get-Random -Minimum 1 -Maximum 10000)@jaapterlouw.nl"
    # $DisplayName = "Test $(Get-Random -Minimum 1 -Maximum 10000)"
    # $Password = "$(Get-Random)1n3uow8efs@@!#"

    $Params = @{
        AccountEnabled    = $true
        DisplayName       = $DisplayName
        MailNickname      = "$(($UserPrincipalName).split("@")[0])"
        PasswordPolicies  = "DisablePasswordExpiration"
        PasswordProfile   = @{
            Password                      = $Password
            ForceChangePasswordNextSignIn = $false
        }
        PreferredLanguage = $PreferredLanguage
        UsageLocation     = "NL"
        UserPrincipalName = $UserPrincipalName
    }
    $Params

    if (Get-Command New-MgUser -ea 0) {
        New-MgUser @Params
    } else {
        New-MgBetaUser @Params
    }

}