We can change or reset Office 365 password through Microsoft 365 Online Service using powershell with C#. You need to install following components to sync Active Directory password with Office 365.
– Download and Install Microsoft Online Services Sign-In Assistant for IT Professionals RTW
– Download and Install Azure Active Directory Module for Windows PowerShell
In C# project, we need to add reference System.Management.Automation.dll to run powerShell commands.
using System.Management.Automation; ----------------------------------- private static void ResetOffice365Password() { try { string adminUser = "[email protected]"; string adminPwd = "myadminpwd"; //User account to sync password with office 365 string userPrincipalName = "morgan@office365domain"; string newPwd = "userpwd"; string scriptText = "Import-Module MSOnline;rn" + "$Username=" + """ + adminUser + """ + ";rn" + "$Password=ConvertTo-SecureString -AsPlainText "" + adminPwd + "" -Force;rn" + "$Livecred = New-Object System.Management.Automation.PSCredential $Username, $Password;rn" + "Connect-MsolService -Credential $Livecred;rn" + "Set-MsolUserPassword -UserPrincipalName " + userPrincipalName + " -NewPassword "" + newPwd + "" -ForceChangePassword $false -WarningVariable warningVar -OutVariable outVar | Out-Null;rn" + "If ( !$warningVar -and !$Error ) { " + " If ( $outVar -eq "" + newPwd + "") { Echo OK; } Else { Echo Failed; } " + "} Else {" + " If ( $Error ) { Echo ERROR; $Error | fl Message; } Else { Echo WARNING; $warningVar | fl Message; }" + "}"; PowerShell psExec = PowerShell.Create(); psExec.AddScript(scriptText); psExec.AddCommand("Out-String"); Collection<PSObject> results = psExec.Invoke(); StringBuilder stringBuilder = new StringBuilder(); foreach (PSObject obj in results) { stringBuilder.AppendLine(obj.ToString()); } Console.WriteLine(stringBuilder.ToString()); } catch (Exception exception) { Console.WriteLine(exception.Message); } Console.ReadKey(); }
Advertisement