Fixed – Trusted Platform Module has malfunctioned, with Error Code 80090030 in Microsoft Teams

Recently while trying to login into Microsoft Teams we got the below error –

  • As suggested in the different articles – we didn’t find any Teams Account Credentials to be removed.

  • Windows update also didn’t fix the issue.
  • Neither updating the driver from Devic Manager.








  • Creating EnableADAL key with Value data 0 also didn’t work.

Navigate to HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common

Expand the Common key and select the Identity subkey. Right-click on the space on the right side and go to “New > DWORD (32-bit) Value.”

Right-click on the newly created value and select Rename. Type EnableADAL.

By default, the Value Data of EnableADAL should be 0. If not, double-click on it and enter 0 in its Value Data. Click OK to save the changes.

  • tpm.msc è Prepare the TMP and Clear TPM also didn’t work.

Cryptographic Services were also running properly.

In our case, we were getting below additional error.

Eventually disconnecting the work account worked in our case.

The other solution that worked temporarily for us was to uninstall and reinstall the Microsoft Teams.

Hope it helps..


Fixed – Sign in required. Your device is having problems with your work or school account. Sign in again to access your organizations resources

Recently we were getting the below pop up in Windows every time after restart.

The fix was to Disconnect the work / school account.

Navigate to Accounts è Access work or school

Click on Disconnect the work or school acount.

That fixed the issue for us.

Hope it helps..



Security Enhancements – 24 hours maximum user session timeout in Dynamics 365 / CRM

With recent security enhancements in Customer engagement apps, the maximum user session timeout of 24 hours is removed.

Now it uses the Azure AD Session Policy to manage user session timeout, which by default has Azure AD refresh token expiration set as 90 days.

Refresh toke lifetime and expiration

Use Configuring sign-in frequency in Conditional Access to define the periods before a user is required to sign-in again –

Earlier the default session timeout used to be 24 hours with 20 minutes for warning the user –

However, we can still override the default Azure AD Session policy, by setting the session timeout and/or inactivity timeout for the individual environment.

To set the same navigate to –

Environments > [Environment] > Settings > Privacy + Security in Power Platform Admin Center.

Specify appropriate values and save the changes.

Get all the details here –

Hope it helps..



How to – Provision Unified Routing in Dynamics 365 Customer Service Hub

Unified Routing can be configured in Customer Service Hub or Omnichannel Admin Center.

To configure it for Dynamics 365 Customer Service, navigate to

Service Management >> Service Configuration Settings >> Unified routing

(requires Tenant administrator’s consent – click on Provide Consent link)

Accept the permissions requested and provide the consent.

In case unified routing remains disabled  –

Unified Routing once switched on, cannot be disabled from the application, and we need to contact Microsoft Support to turn it off.

The provisioning starts

After a couple of hours, we can see Unified Routing configured for the Customer Service app.

We can see the following solution – Anchor solution for UnifiedRoutingForCS in Dynamics 365 solutions installed in the environment.

Hope it helps..



Sample Code to Test and Enable Mailbox programmatically C# (Dynamics 365/CRM)

Suppose we want to Test & Enable Mailbox of the below user programmatically.

We can see the below notification for the disabled mailbox.

This mailbox is disabled for email processing. For more information, see the alerts.

Below is the sample code –

On running the code, we can see the notification removed and the mailbox for the user enabled successfully.

C# Code –

      CrmServiceClient svc = new CrmServiceClient(ConnectionString);

            if (svc.IsReady)
                var mailBox = new Entity("mailbox", new Guid("C88A539A-F493-EC11-B400-000D3A4F37D3"));

                // testemailconfigurationscheduled = Indicates if the email configuration test has been scheduled for a mailbox record
                mailBox.Attributes["testemailconfigurationscheduled"] = true;


Hope it helps..


Sample Code to Approve Email – Mailbox programmatically C# (Dynamics 365/CRM)

Suppose we want to Approve the Email for the mailbox of the user(s) programmatically.

We’d see the below notification for the user whose mailbox is not yet approved.

Email won’t be processed for this mailbox until the email address of the mailbox is approved by an Office 365 Global Administrator or by an Exchange Administrator. For more information, contact your system administrator.

Below is the sample code –

On running the code, we can see the notification for the email address approval removed or the mailbox approved for the user.

C# Code –

            CrmServiceClient svc = new CrmServiceClient(ConnectionString);

            if (svc.IsReady)

                var systemUser = new Entity("systemuser", new Guid("C48A539A-F493-EC11-B400-000D3A4F37D3"));

                // emailrouteraccessapproval - status of the primary email address
                //0	= Empty, 1 = Approved, 2 = Pending Approval, 3 = Rejected
                systemUser.Attributes["emailrouteraccessapproval"] = new OptionSetValue(1);


The code should run under the context of the user who has either Global Admin or Exchange Admin role.

Hope it helps..

%d bloggers like this: