Param(
$ApplicationID,
$TenatDomainName,
$AccessSecret
)
#Defining Application Details
$ApplicationID = "44b78d78-425a-446567-21527-a43kj39k2t0a8"
$TenatDomainName = "spscript.onmicrosoft.com"
$AccessSecret = "cba)b@Q~p~Ygk*%F~gcf27%170_g@#30~"
#Requesting Token
$Body = @{
Grant_Type = "client_credentials"
Scope = "https://graph.microsoft.com/.default"
client_Id = $ApplicationID
Client_Secret = $AccessSecret
}
$ConnectGraph = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenatDomainName/oauth2/v2.0/token" -Method POST -Body $Body
#Token Received and stored in Token Variable
$token = $ConnectGraph.access_token
#Fetching User Details
$UsersURL = 'https://graph.microsoft.com/beta/Users/'
$Result = Invoke-RestMethod -Headers @{Authorization = "Bearer $($token)"} -Uri $UsersURL -Method Get
$Result.value|Select-Object userPrincipalName