Public/Graph/New-GraphUser.ps1
function New-GraphUser { [CmdletBinding()] param ( [Parameter(Mandatory)] [string] $Tenant, [Parameter(ValueFromPipeline)] $UserList ) begin { } process { foreach ($User in $UserList) { $Token = Connect-PoshGraph -Tenant $Tenant $Headers = @{ 'Authorization' = "Bearer $Token" 'Content-Type' = 'application/json' } $test = @{ 'accountEnabled' = $true 'mailnickname' = '' 'userPrincipalName' = '' 'displayName' = '' 'passwordProfile' = @{ 'password' = '' 'forceChangePasswordNextSignIn' = $true } } $RestSplat = @{ Uri = 'https://graph.microsoft.com/v1.0/users' Headers = $Headers Method = 'POST' Body = ($test | ConvertTo-Json) } try { Invoke-RestMethod @RestSplat -Verbose:$true -ErrorAction Stop } catch { $_.Exception.Message } } } end { } } |