Forum Discussion
EntilZha
Jun 24, 2021Iron Contributor
Variable in Graph Request Body (PowerShell)
Working off the following URL: https://docs.microsoft.com/en-us/graph/api/passwordauthenticationmethod-resetpassword?view=graph-rest-beta&tabs=http When I execute the following command in my P...
- Jun 24, 2021SOLUTION: I had to add " | ConvertTo-Json" at the end Request Body
$PWCBody = @{
newPassword = $password
forceChangePasswordNextSignIn = $true
} | ConvertTo-Json
EntilZha
Jun 24, 2021Iron Contributor
again thanks for responding to my post...
I'm able to successfully change user's password using the end point in my PowerShell script if the Requested Body for password is in string format
$PWCBody = '{"Password" : "ADC123", "forceChangePasswordNextSignIn" : true}'
I get the 400 Bad Request when I try change the Requested Body password from a string value to a variable.
$PWCBody = '{"Password" : $NewPassword, "forceChangePasswordNextSignIn" : true}'
FYI: None of the accounts i trying to change their password in not disable in AD or Azure AD.
Also, I using the following permission:
Directory.AccessAsUser.All - Delegated - Access directory as the signed in user
UserAuthenticationMethod.ReadWrite.All - Delegated - Read and write all users' authentication methods.
UserAuthenticationMethod.Read.All - Delegated - Read all users' authentication methods
The service service account has the Role: Authentication administrator
Thank You,
-Larry
EntilZha
Jun 24, 2021Iron Contributor
SOLUTION: I had to add " | ConvertTo-Json" at the end Request Body
$PWCBody = @{
newPassword = $password
forceChangePasswordNextSignIn = $true
} | ConvertTo-Json
$PWCBody = @{
newPassword = $password
forceChangePasswordNextSignIn = $true
} | ConvertTo-Json
- CompulinxNov 30, 2021Copper ContributorTook ages looking for this.. Thanks Larry!
- Thiago-BeierSep 21, 2022Brass Contributor
I need to parse $var1 value into URI URL value for the graph api , that simply doesn't work
this works for me:
$var1 = $null
$results1 = $null
$url = 'https://graph.microsoft.com/v1.0/users/email address removed for privacy reasons?$select=displayName,officeLocation,city,usageLocation,department,onPremisesExtensionAttributes,userPrincipalName,onPremisesSamAccountName'
$url
$results1 = (Invoke-WebRequest -Headers $headerParams -Uri $url) | ConvertFrom-Json
$results1.onPremisesSamAccountName.ToUpper()
write-host "BULC code: " $results1.onPremisesExtensionAttributes.extensionAttribute3this doesn't
$va1 = $null
$results1 = $null
$var1 = "email address removed for privacy reasons"
$url = 'https://graph.microsoft.com/v1.0/users/$($a1)?$select=displayName,officeLocation,city,usageLocation,department,onPremisesExtensionAttributes,userPrincipalName,onPremisesSamAccountName' #usertofind
$url
$results1 = (Invoke-WebRequest -Headers $headerParams -Uri $url) | ConvertFrom-Json
$results1.onPremisesSamAccountName.ToUpper()
write-host "company code: " $results1.onPremisesExtensionAttributes.extensionAttribute3also this , doesn't work
$url = 'https://graph.microsoft.com/v1.0/users/$a1?$select=displayName,officeLocation,city,usageLocation,department,onPremisesExtensionAttributes,userPrincipalName,onPremisesSamAccountName' #usertofind
appreciate any help
Thiago