Public/New-TempADUser.ps1

function New-TempADUser {

    <#
        .SYNOPSIS
        This function creates a new temporary AD user using the data parsed from New-TempADUserDetails.
 
        .DESCRIPTION
        Function to
        https://randomuser.me/
 
        .EXAMPLE
        New-TempADUserDetails | New-TempADUser
 
        .INPUTS
            [PSObject]
         
        .OUTPUTS
                 
        .NOTES
        Author: Luke Leigh
        Website: https://blog.lukeleigh.com/
        LinkedIn: https://www.linkedin.com/in/lukeleigh/
        GitHub: https://github.com/BanterBoy/
        GitHubGist: https://gist.github.com/BanterBoy
 
        .LINK
        https://github.com/BanterBoy
    #>

            
    [CmdletBinding(
        SupportsShouldProcess = $true,
        DefaultParameterSetName = "Default")]
    param (
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $Name,
            
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $Title,
    
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $GivenName,

        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $Surname,
        
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $DisplayName,

        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $SamAccountName,

        
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $StreetAddress,
        
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $State,
            
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $City,
            
        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $Country,

        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $PostalCode,

        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $UserPrincipalName,

        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $True,
            ValueFromPipelineByPropertyName = $True,
            HelpMessage = "Please enter the DistinguishedName for the OU path for your Email address."
        )]
        [string]
        $Path = (Get-ADDomain).UsersContainer,

        # Parameter help description
        [Parameter(
            Mandatory = $false,
            ParameterSetName = "Default",
            ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Please enter your"
        )]
        [string]
        $AccountPassword
            
    )
            
    begin {
                
    }
    
    process {
        if ($path) {
            $userUserSettings = @{
                Name                  = $_.Name
                Title                 = $_.Title
                GivenName             = $_.GivenName
                Surname               = $_.Surname
                DisplayName           = $_.DisplayName
                SamAccountName        = $_.SamAccountName
                UserPrincipalName     = $_.UserPrincipalName
                StreetAddress         = $_.StreetAddress
                State                 = $_.State
                City                  = $_.City
                Country               = $_.Country
                PostalCode            = $_.PostalCode
                AccountPassword       = (ConvertTo-SecureString -String $AccountPassword -AsPlainText -Force)
                Enabled               = $true
                ChangePasswordAtLogon = $true
                Path                  = $Path
            }
            
            New-ADUser @userUserSettings -Verbose
        }
        else {
            $userUserSettings = @{
                Name                  = $_.Name
                Title                 = $_.Title
                GivenName             = $_.GivenName
                Surname               = $_.Surname
                DisplayName           = $_.DisplayName
                SamAccountName        = $_.SamAccountName
                UserPrincipalName     = $_.UserPrincipalName
                StreetAddress         = $_.StreetAddress
                State                 = $_.State
                City                  = $_.City
                Country               = $_.Country
                PostalCode            = $_.PostalCode
                AccountPassword       = (ConvertTo-SecureString -String $AccountPassword -AsPlainText -Force)
                Enabled               = $true
                ChangePasswordAtLogon = $true
            }
            
            New-ADUser @userUserSettings -Verbose
        }
    }
        
    end {
        
    }
}