Experiencing Data latency Issue in Azure portal for Log Analytics – 02/28 – Resolved

This article is contributed. See the original author and article here.

Final Update: Sunday, 28 February 2021 22:55 UTC

We’ve confirmed that all systems are back to normal with no customer impact as of 2/28, 22:12 UTC. Our logs show the incident started on 2/28, 19:08 UTC and that during the ~3 hours  hours that it took to resolve the issue customers in Korea Central ingesting telemetry in their Log Analytics Workspace experienced intermittent data latency and incorrect alert activation.
  • Root Cause: The failure was due to one of the backend services becoming unhealthy.
  • Incident Timeline: 3 Hours  – 2/28, 19:08 UTC through 2/28, 22:12 UTC
We understand that customers rely on Azure Log Analytics as a critical service and apologize for any impact this incident caused.


The February 26th Weekly Roundup is Posted!

This article is contributed. See the original author and article here.

Pssst! You may notice the Round Up looks different this week – we’re rolling out a new, concise way to show you what’s been going on in the Tech Community week by week.


Top 10 Blogs & Conversations this Week:

  1. Microsoft 365 apps say farewell to Internet Explorer 11 and Windows 10 sunsets Microsoft Edge Legacy

  2. Enhanced performance, designed for simplicity – the new Outlook for Mac

  3. Why can’t I see the Microsoft Teams Meeting add-in for Outlook?

  4. Microsoft Teams is now available on Linux

  5. Breakout rooms generally available today in Microsoft Teams

  6. What’s the difference between Azure Security Center, Azure Defender and Azure Sentinel?

  7. Microsoft 365 Template Survey

  8. How do I stop MS Teams availability icon changing automatically on my profile photo?

  9. Startup Boost FAQ

  10. Your Guide to Microsoft Teams @ Spring Microsoft Ignite 2021

See all blogs posted this week here, on the blog page.


Important Events:


Microsoft Ignite
March 2–4, 2021


Microsoft Teams AMA

March 9, 9:00-10:00 AM PT


Azure Cognitive Search AMA

March 10, 9:00-10:00 AM PT


Duration field in Dynamics 365 converts Hours value to Days in Dynamics 365 | [Flow Workaround to convert in Hours and Mins]

Duration field in Dynamics 365 converts Hours value to Days in Dynamics 365 | [Flow Workaround to convert in Hours and Mins]

This must be one of the most common scenarios Dynamics 365 Users must’ve come across. The Whole Number’s Duration field shows Duration in Days once it crosses 24 hours, it shows the Duration in Days. Like below –

And once you leave the control, it’ll be converted to it’s equivalent Days conversion

But if you click on it, you can in fact see the Hours

However, It’s not ideal to click on the field and check the Hours on the form. Also, this doesn’t work in case the field is seem from a View on the entity. Unfortunately, we can’t change this behavior. So, to have a workaround, I created a new field to store the translated value.

Hope this implementation is useful to you. In case of any better ideas, kindly suggest in the comments and I’ll be happy to update this post in order to serve full purpose. 😊
To understand the core conversion using long division, refer this post – https://www.calculatorsoup.com/calculators/conversions/minutes-to-hours.php

New Single Line of Text Field and a Flow

Let’s look at how the implementation is –

We’ll need to also review the following Logic Apps’ Math Functions to understand how to apply them – https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#math-functions?WT.mc_id=DX-MVP-5003911

Also, to understand how to read data from triggerOutputs(), check this post – Using triggerBody() / triggerOutput() to read CDS trigger metadata attributes in a Flow | Power Automate

  1. I’ve created a new Single Line of Text field called as Time In Hours (cf_timeinhours) which will hold the translated Hours & Minutes. Making the field as Read-Only is recommended so that no one changes it on the form post update.
  2. Now, here’s a Flow (You can configure it either on demand for existing records of on Create/Update of the Duration field which itself to calculate once the value is changed field). Just for example’s sake, my field is on Contact and hence, I’m triggering the Flow on Update of the contact on the change of the Avg Turnaround Time (Whole Number of format Duration) field.

    See, that the Body of the step will have the Avg Turnaround Time field storing the duration in minutes.

  3. First actions is to use Divide to get the Hours. I’m creating a variable called as Divide To Get Hours of type Float.

    Here’s how the div function included above looks like –

    Formula is: div(triggerOutputs()?['body/cf_avgturnaroundtime'],60)
    Explanation: Duration field in Dynamics 365 stores Minutes. First, we divide these minutes by 60 to get the Hours value.
    If you divide 3375/60, you get 56.25. But the Div will give you the Integer value. (The right way to divide to get exact float is to also store the 60 in a variable and then work with variables. See this post https://powerusers.microsoft.com/t5/General-Power-Automate/How-to-receive-decimal-number-result-after-dividing/td-p/195399) However, in this case, we anyway need to 56 part, so this is fine for now.

  4. Next, we’ll multiply the result of the Hours we got from the step above i.e. Divide to Get Hours.

    Here’s how the Mul function looks –

    Formula is: mul(60,int(variables('Divide to Get Hours')))
    Explanation: Now, we multiple the result of the Divide to Get Hours. This will be used to subtract from the actual value of Avg Turnaround Time field.
    Here, we multiple 60 x 56 = 3360 and get 3360

  5. Finally, to get Minutes, we use the third variable that uses a Sub function

    The Sub function looks like below –

    Formula is: sub(triggerOutputs()?['body/cf_avgturnaroundtime'], variables('Number to Subtract From'))
    Explanation: Now, we subtract the result of the Number To Subtract step from the value of the Duration field i.e. Avg Turnaround Time field itself. These will be the minutes.
    Now, to get the minutes we subtract the result of the Number to Subtract from the actual minutes value of the duration field i.e. 3375 – 3360 = 15. These are your minutes!

  6. Final step is to simply arrange it in a String (you can also form the string elsewhere directly and skip the below)
  7. And to make sense of this conversion, I’ll update the field on the record to show what the converted Hours and Minutes is.
  8. Here’s the final result once the Flow runs successfully.

Hope this helps! You might always want to check more Power Automate / Dynamics 365 posts –

  1. Office 365 Outlook connector in Cloud Flows showing Invalid Connection error | Power Automate
  2. FormatDateTime function in a Flow | Power Automate
  3. Formatting Approvals’ Details in Cloud Flows | Power Automate
  4. Trigger Conditions not working in a Cloud Flow? Here’s Why | Power Automate Quick Tip
  5. Read OptionSet Labels from CDS/Dataverse Triggers or Action Steps in a Flow | Power Automate
  6. InvalidWorkflowTriggerName or InvalidWorkflowRunActionName error in saving Cloud Flows | Power Automate Quick Tip
  7. Store ‘Today’s Date’ in a field to use in workflow conditions in D365 CE
  8. Create a Team, add Members in Microsoft Teams upon Project and Team Members creation in PSA / Project Operations | Power Automate
  9. Setting Lookup in a Flow CDS Connector: Classic vs. Current Environment connector | Power Automate Quick Tip
  10. Using outputs() function and JSON Parse to read data from missing dynamic value in a Flow | Power Automate
  11. Run As context in CDS (Current Environment) Flow Trigger | Power Automate
  12. Adaptive Cards for Teams to collect data from users using Power Automate | SharePoint Lists

Thank you!

Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.

Azure Arc Enabled SQL Managed Instance High Availability

Azure Arc Enabled SQL Managed Instance High Availability

This article is contributed. See the original author and article here.

With Azure Arc, you can run Azure data services anywhere: on-premises, multi-cloud, and edge environments. Azure Arc enabled data services simplify data management with features such as automated provisioning, elastic scaling, and unified management from Azure. Today, we are happy to continue down this journey and announce the preview of Always On Availability Groups for Azure Arc-enabled Managed Instance for improved high availability. 


Business continuity is a key requirement for many applications. On top of the high availability capabilities of Kubernetes which provides built-in health monitoring, failure detection, and automated redeployment mechanisms to maintain service health, Azure SQL managed instances can now be deployed with additional replicas for increased reliability. With a single deployment command, you can easily deploy an Azure SQL managed instance with a system-managed Always On Availability Group backed by multiple replicas.  


Azure Arc enabled SQL Managed Instance Always On Availability Groups offer the following capabilities: 

  • The three-replica availability group is managed internally, including creation of the availability group, and joining replicas to the availability group created 

  • All databases are automatically added to the availability group, including all user and system databases like master and  msdb. This capability provides a single system view across the availability group replicas 

  • An external endpoint is automatically provisioned for connecting to databases within the availability group for both read-write and read-only connections 

  • Ability to run read workloads by connecting to the secondary instances 

  • Automated failovers and instance redeployment in the event of pod or node failure 



Simple Deployment

Deploying a managed instance backed by multiple replicas is easy. The following command deploys the architecture diagram illustrated above in your Kubernetes cluster.






azdata arc sql mi create -n myinstance --replicas 3






Learn More

Learn how to deploy Azure Arc enabled SQL Managed Instances with high availability here


See Always On Availability Groups in action in a recent talk below



CLI for Microsoft 365 v3.6

CLI for Microsoft 365 v3.6

This article is contributed. See the original author and article here.



We’ve just published a new version of the CLI for Microsoft 365 with new commands for working with and managing Microsoft 365 tenants and SharePoint Framework projects on any platform.


Manage Microsoft 365 and SharePoint Framework projects on any platform

CLI for Microsoft 365 is a cross-platform CLI that allows you to manage various configuration settings of Microsoft 365 and SharePoint Framework projects no matter which operating system or shell you use.


While building solutions for Microsoft 365 expands beyond the Windows operating system, managing many of the platform settings is possible only through PowerShell on Windows. As more and more users work on non-Windows machines, it’s inconvenient for them to have to use a Windows virtual machine to configure their tenants. With the CLI for Microsoft 365, you can configure your tenant no matter which operating system you use. Additionally, using CLI for Microsoft 365, you can manage your SharePoint Framework projects.


New version of CLI for Microsoft 365 – v3.6

Following our monthly release cadence, we released this new version of CLI for Microsoft 365 with some new commands and improvements. Here are some of the most noteworthy additions. For the full list of changes, see our release notes.


Ensure SharePoint site

When building provisioning scripts, you often need to check if a particular site already exists. If it doesn’t, you need to create it. If it does, you need to check if it has the necessary settings. Depending what exactly you need to check, this logic can become pretty elaborate. If you need to create a couple of sites, you’re quickly looking at lengthy scripts that you not only need to write but also maintain.


To help you easily ensure that sites with the right configuration exists, we introduce the spo site ensure command. Using this command, you can for example easily ensure that a site exists at the specified URL and create one if it doesn’t:

m365 spo site ensure –url https://contoso.sharepoint.com/sites/team1 –alias team1 –title “Team 1”


Using the command you can also ensure that the site that exists has the right type and properties:

m365 spo site ensure –url https://contoso.sharepoint.com/sites/team1 –alias team1 –title “Team 1” –isPublic –shareByEmailEnabled


This is the first ensure command that we introduce in CLI for Microsoft 365. We’d love you to give it a try and tell us what you think. For more information about what’s possible, see the command’s documentation.


Configure SharePoint site chrome

Microsoft is continuously investing in modernizing SharePoint. With every update, we get more features to build rich portals in a robust and future-ready way. One of the recently introduced features is site chrome that allows you to control how the site’s header and footer look like.


In this version of CLI for Microsoft 365, we introduce a command that allows you to control site’s chrome.

To show site’s header in compact mode, execute:

m365 spo site chrome set –url https://contoso.sharepoint.com/sites/project-x –headerLayout Compact


To show site’s header in extended mode and align the logo to the right, execute:

m365 spo site chrome set –url https://contoso.sharepoint.com/sites/project-x  –headerLayout Extended –logoAlignment Right


To disable the footer, execute:

m365 spo site chrome set –url https://contoso.sharepoint.com/sites/project-x –disableFooter true


For the full list of supported settings, see the command’s documentation.


Copy SharePoint pages and page templates

When working with pages and page templates, you might want to copy specific pages or page templates in bulk. The easiest way to automate it, is using CLI for Microsoft 365.


In this version we introduce a command that let’s you copy the specified page or page template. To copy a page template, execute:

m365 spo page copy –webUrl https://contoso.sharepoint.com/sites/team-a –sourceName “templates/PageTemplate.aspx” –targetUrl “page.aspx”


To copy a page to another site, execute:

m365 spo page copy –webUrl https://contoso.sharepoint.com/sites/team-a –sourceName “templates/PageTemplate.aspx” –targetUrl “https://contoso.sharepoint.com/sites/team-b/sitepages/page.aspx”


For the full list of supported options, see the command’s docs.


Manage Power Apps

More and more organizations use Power Apps to automate their work. With Power Apps, they can build applications for their business processes with little to no code.


To help organizations manage their Power Apps, we introduce in this version three new commands.

First, we let you get the list of your Power Apps environments, by executing:

m365 pa environment list


To get more information about a specific environment, execute:

m365 pa environment get –name Default-d87a7535-dd31-4437-bfe1-95340acd55c5


To get information about a specific app, execute:

m365 pa app get –name 3989cb59-ce1a-4a5c-bb78-257c5c39381d


These commands extend our set of Power Platform commands. For the list of all commands for Power Platform, see the documentation.



We’ve continued improving CLI, building upon the changes we’ve introduced in the previous version.


Browser-based login

Many organizations become more and more conscious about their security posture. As their awareness matures, they implement more measure to ensure that they can work securely. One of such measures is conditional access that allows organizations enforce specific checks on clients authenticating against their Microsoft 365 tenant.


To let organizations who enforce conditional policies use CLI for Microsoft 365, we introduced a browser-based way to login to Microsoft 365.


After executing: m365 login –authType browser, CLI for Microsoft 365 will launch a browser, let you sign in and obtain an access token on your behalf. If you have the browser with the right user profile active, the automatically opened login page will give you a smooth login experience without having to copy & paste device code.


From that point on, CLI for Microsoft 365 will work exactly the same way you’re used to it, allowing you to run scripts and automate managing your tenant.


Improved managing SharePoint pages and sites

CLI for Microsoft 365 is a great tool for automating managing your Microsoft 365 tenant and SharePoint Framework projects. It’s also great as an engine to build other tools on top!


Elio Struyf has build a static site generator for SharePoint named Doctor. If you want to author product documentation or a knowledgebase in Markdown but publish it to SharePoint, Doctor is the tool for the job! As Elio is extending Doctor with new capabilities, he’s contributed a number of enhancements to managing pages and sites with CLI for Microsoft 365.


Improved creating Azure AD apps

Recently we’ve introduced an easy way to create Azure AD apps with CLI for Microsoft 365. With just one line of code, you can create an app registration full configured to support your scenario.


In this version of CLI for Microsoft 365, we extended the command so that it returns the ID of your Azure AD directory, which you need to include in your code when building single-tenant apps.


We’ve also improved the mechanism to lookup service principal in cases where their names end with a / (slash).


Simplified retrieving access token for SharePoint

When building apps for Microsoft 365, you often need an access token to quickly test your code. The easiest way to get it, is using CLI for Microsoft 365.


In this version, we made it even easier by introducing an alias for the resource. If you called SharePoint previously using CLI for Microsoft 365, you can quickly get an access token for SharePoint by executing:

m365 util accesstoken get –resource sharepoint


Rather than having to specify the full URL of your SharePoint tenant, you can use sharepoint instead. It’s that easy! Are there any other aliases that we should add?


Sample scripts

CLI for Microsoft 365 is a great tool both for quick adjustments to the configuration of your Microsoft 365 tenant as well as automating more complex tasks. Because CLI for Microsoft 365 is cross-platform you can use it on any OS and in any shell. To help you get started using the CLI for Microsoft 365 for automation scenarios, we started gathering some sample scripts.


If you have any scripts that you use frequently, please share them with us so that we can learn more about the common automation scenarios.


Export conversations from Microsoft Teams Channels

We utilize Teams during incidents and create channels for each. We would like to be able to export conversation history.


To help you quickly export conversations from the teams your members of, Joseph Velliah contributed a sample script that iterates over your Teams and channels and exports conversations to a JSON file.



This release wouldn’t be possible without the help of (in alphabetical order) Hugo Bernier, Luise Freese, Patrick Lamber, Waldek Mastykarz, Nanddeep Nachan, Smita Nachan, John Rafael, Albert-Jan Schot, Elio Struyf, Fredrik Thorild, Garry Trinder, Joseph Velliah and Rabia Williams. Thank you all for the time you chose to spend on the CLI for Microsoft 365 and your help to advance it!


Work in progress

Here are some things that we’re currently working on.


More commands, what else

Microsoft 365 is evolving and new capabilities are being released every day. With CLI for Microsoft 365, we aim to help you manage your tenant on any platform in a consistent way, no matter which part of Microsoft 365 you interact with. While we keep adding new commands to CLI for Microsoft 365 each release, we still barely scratched the surface with what’s possible in Microsoft 365. In the upcoming versions of the CLI for Microsoft, you can expect us to add more commands across the different workloads in Microsoft 365.


Improved managing SharePoint pages

Microsoft keeps investing in modern SharePoint pages continuously introducing new capabilities to let us publish rich content. We’re looking into extending our support for managing modern SharePoint pages to let you use them to their full potential.


Improved creating Azure AD apps

Recently, we’ve introduced a command to easily create Azure AD app registrations. Because they’re backbone of every app you’d build on Microsoft 365, we think you should be able to create them as easily as possible. So with CLI for Microsoft 365, you can create a fully configured Azure AD app for the most common scenarios with just one line of code.


In the future versions of CLI for Microsoft 365 you can expect us extend the capabilities with additional scenarios and features supported by Azure AD.


Script examples

In every release of the CLI for Microsoft 365, we introduce new commands for managing Microsoft 365. With over 350 commands across the different Microsoft 365 services, the CLI for Microsoft 365 has become a powerful tool, not just for managing your tenant but also for automating your daily work.

We’d love to show you how you can use the CLI for Microsoft 365 to build automation scripts in PowerShell Core and Bash. If you have any scripts using SPO or PnP PowerShell that you use frequently, please share them with us so that we can learn more about the common automation scenarios.


ensure commands

We’ve just shipped our first ensure command – an easy way to help you that a site with specific settings exists. If it doesn’t, CLI creates it for you, if it does, CLI ensures it has the right properties. All in one line of code. We’d love to hear from you how you like it and if it’s something you’d like us to implement for other commands as well.


Try it today

Get the latest release of the CLI for Microsoft 365 from npm by executing in the command line:

npm i -g @pnp/cli-microsoft365


Alternatively, you can get the latest release from Docker by executing in the command line:

docker run –rm -it m365pnp/cli-microsoft365:latest


If you need more help getting started or want more details about the commands, the architecture or the project, go to aka.ms/cli-m365.


If you see any room for improvement, please, don’t hesitate to reach out to us either on GitHub or twitter.