2010 Service Release – Intune in a half shell, Shell Power!!

The 2010 Service Release has since a number of updates as shown below;

SectionItemLink
App ManagementApps that require enrollment are hidden when enrollment is set to unavailableLink
Improvements to iOS Company Portal privacy message customizationLink
Android app protection policies (MAM) on COPE devicesLink
Max Company Portal version age for Android devicesLink
Mac LOB apps will be supported as managed apps on macOS 11 and higherLink
Enable Outlook S/MIME emails to be always signed or encryptedLink
Device ConfigurationUse the Connect Automatically setting on Android Enterprise basic Wi-Fi profilesLink
New user experience and new Enable direct download setting on macOS devices using associated domainsLink
New lockout password settings on macOS devicesLink
Required password type default setting is changing on Android Enterprise devicesLink
Device enrollmentIntune support for provisioning Azure Active Directory shared devicesLink
Device SecurityApp protection policy support on Android and iOS/iPadOS for additional partnersLink
Endpoint Manager Security tasks include details about misconfigured settings from Microsoft Defender ATP TVMLink
Endpoint security Firewall policies for tenant attached devicesLink
Expanded settings to manage hardware device installation through block and allow listsLink
Improvements to endpoint security Firewall rulesLink
Use Microsoft Defender for Endpoint in compliance policies for iOSLink
Security Experience profiles for Endpoint Security Antivirus policy now have tri-state optionsLink
Updated version of the Edge security baselineLink
Monitor and troubleshootNew Windows 10 feature update failures reportLink
Updates to Antivirus reportsLink
Updated Help and Support for Microsoft Endpoint ManagerLink
ScriptsCollect custom device or user properties using shell scripts on managed MacsLink

But what I wanted to pick up on is the new PowerShell elements within this service release as its something I regular do within my own Windows 10 deployments.

These are really cool additions.

View PowerShell scripts in the Intune Troubleshooting pane

You can now view your assigned PowerShell scripts in the Troubleshooting pane. PowerShell scripts provide Windows 10 client communication with Intune to run enterprise management tasks, such as advanced device configuration and troubleshooting. For more information, see Use PowerShell scripts on Windows 10 devices in Intune.

Win32 app support for Workplace join (WPJ) devices

Existing Win32 apps are supported for Workplace join (WPJ) devices. PowerShell scripts, which are not officially supported on WPJ devices, can be deployed to WPJ devices. Specifically, device context PowerShell scripts work on WPJ devices, but user context PowerShell scripts are ignored by design. User context scripts will be ignored on WPJ devices and will not be reported to the Microsoft Endpoint Manager console. For more information about PowerShell, see Use PowerShell scripts on Windows 10 devices in Intune.

Regards,
The Author – Blogabout.Cloud

Whats new in Microsoft 365 Roadmap today? 30th October 2020

Whats new in Microsoft 365 Roadmap today? 30th October 2020

Additions : 3
Updates : 7

More Details At: www.roadmapwatch.com

New FeaturesCurrent Status
Microsoft Forms: Progress Bar for multipage Forms and Quizzes for Government CloudsIn Development
Microsoft Teams: Increasing Chat Size from 300 to 1000 ParticipantsIn Development
Microsoft Teams: Live Event Presenter for iPadIn Development
Updated FeaturesCurrent StatusUpdate Type
Microsoft Compliance Center: Advanced Audit – Search term events in Exchange Online and SharePoint OnlineLaunchedStatus
Microsoft Compliance Center: Advanced Audit – Mail forward and mail send eventsLaunchedStatus
Microsoft Teams: Together modeIn DevelopmentTitle
Microsoft Teams – Large Gallery view (Preview) – see up to 49 participantsLaunchedStatus
Microsoft Teams: Incoming video support on SafariLaunchedStatus
Microsoft Teams: Improvements to Meeting NotesLaunchedStatus
Microsoft Teams: Outgoing screen-sharing support on SafariLaunchedStatus

Regards
The Author – Blogabout.Cloud

Using PowerShell to view the Current Status of Microsoft 365 with Office 365 Service Communications API

Using PowerShell to view the Current Status of Microsoft 365 with Office 365 Service Communications API

With Office 365 Service Communications API you can pull the required Current Status using PowerShell providing you have completed the prerequisites below.

Screenshot

Prerequisites

  • PowerShell script
  • TenantID
  • ClientID
  • ClientSecret

The TenantID, ClientID and ClientSecret are obtained from your Application but please do remember you need to have a copy of the ClientSecret as once you move away from the secret. You wont be able to see it again.

The Script


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Clear-Host
 <#Information
 
    Author: thewatchernode
    Contact: author@blogabout.cloud
    Published: 30th Ocotber 2020

    .DESCRIPTION
    Tool to gather Microsoft 365 Health Status.

    # IMPORTANT
    Office 365 Service Communications API needs to be configured with your Tenant. http://www.blogabout.cloud/2020/10/1884/

    Version Changes            
   
    : 0.1 Initial Script Build
    : 1.0 Initial Build Release
     
    Credit:
     

    .EXAMPLE
    .\Get-Microsoft365Status.ps1

    Description
    -----------
    Runs script with default values.


    .INPUTS
    None. You cannot pipe objects to this script.
#>
 #region To be configured by the script runner

# Objects
$tenantId = ''
$client_id = ''
$client_secret = ''
#endregion

Function Get-M365Status {
# Construct URI for OAuth Token
$uri = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token"

# Construct Body for OAuth Token
$body = @{
    client_id     = $client_id
    scope         = "https://manage.office.com/.default"
    client_secret = $client_secret
    grant_type    = "client_credentials"
}

# Get OAuth 2.0 Token
$tokenRequest = try {

    Invoke-RestMethod -Method Post -Uri $uri -ContentType "application/x-www-form-urlencoded" -Body $body -ErrorAction Stop

}
catch [System.Net.WebException] {

    Write-Warning "Exception was caught: $($_.Exception.Message)"
   
}

$token = $tokenRequest.access_token

# Get Office 365 Status
$m365status = try {

    Invoke-RestMethod -Method Get -Uri "https://manage.office.com/api/v1.0/$tenantid/ServiceComms/CurrentStatus" -ContentType "application/json" -Headers @{Authorization = "Bearer $token"} -ErrorAction Stop

}
catch [System.Net.WebException] {

    Write-Warning "Exception was caught: $($_.Exception.Message)"
   
}

# List service overview status
$m365status.Value | Format-Table WorkloadDisplayName, StatusDisplayName, Status, IncidentIds
}
Write-host 'Version information - You are running script version 1.5' -ForegroundColor $White -BackgroundColor $DarkGray
  @'
  ┌─────────────────────────────────────────────────────────────┐
           Gather the status of Microsoft 365 Service Health

               Follow @thewatchernode on Twitter                              
  └─────────────────────────────────────────────────────────────┘
'@
Start-Transcript -Path $InstallDir\M365Status_Log.txt
Get-M365Status
Stop-Transcript

Download

https://github.com/TheWatcherNode/blogaboutcloud/blob/master/Get-Microsoft365Status.ps1

Regards
The Author – Blogabout.Cloud

Configuring Office 365 Service Communications API within your own Azure Active Directory.

Configuring Office 365 Service Communications API within your own Azure Active Directory.

Office 365 Service Communications API enables an organization to gather data about the Microsoft 365 tenancy and in this post we will be looking at Service Health.

Prerequisites

  • Relevant Azure Active Directory Permissions to create an app
    • Global Administrator,
    • Application Administrator
    • Cloud Application administrator
  • Licensed for Power Automate either;
    • Per-user plan
    • Per-user plan with attended RPA
    • Per Flow plan

Configuring Azure Active Directory

Login into the Azure Portal via http://portal.azure.com and browser to Azure Azure Directory then select App Registrations –> New Registration

Now enter a Name for the application i.e. Office 365 Service Communications API, select Accounts in this organizational directory only

The Redirect URI can be ignored as it no longer necessary and then click Register.

The registered app you just created will now be displayed – click on API permissions on the left hand menu. Click on the Add a permission button in the Configured permissions section. Select Office 365 Management API in the Request API permissions section.

Select Application permissions as the type of permissions your application requires. Then Select ServiceHealth.Read as the permissions required and then select the Add permissions button.

Granting Tenant Admin Consent

The application is now configured with the permissions it needs to use the Office 365 Management APIs but first it needs an admin to grant these permissions. A Global Administrator, Application Administrator or Cloud Application administrator must explicitly grant your application these permissions. This is granting the app permissions to use the APIs to access your tenant’s data. 



If you do not have the necessary role please advise the admin to follow this link and provide them with the name of your App Registration to review and approve.

If you have the necessary Global Administrator, Application Administrator or Cloud Application administrator role click on the Grant admin consent to <tenant name> button.

Generate a new key / client secret for your application

Navigate to the main page for the App Registration you just created, now make a note of the Application (client) ID and Directory (tenant) ID as you will need these later to access the Office 365 Management API using the app just created. Now Client secret needs to be generated to be used for authentication to the APIs – click on Certificates & Secrets on the left hand menu.

IMPORTANT: Now make a note of the Client Secret created i.e. BlahBlah-BlahBlah. It is important that this is done now as once this window is closed the Client secret will no longer be visible.

This completes the process for configuring Office 365 Service Communications API. The next step will be using either PowerShell or Power Automate to present the data.

If you would to utilize Power Automate check out this blog post I created.

Regards
The Author – Blogabout.Cloud

Bringing Power Automate and Office 365 Service Communications API v2 together to deliver Current Status into Microsoft Teams.

Bringing Power Automate and Office 365 Service Communications API v2 together to deliver Current Status into Microsoft Teams.

I have been recently looking how to provide the Current Status of the Microsoft 365 stack into an automated process so I could quickly identify any outages. The Office 365 Service Communications API v2 does exactly that and also allows additional options like Power Automate and PowerShell to pull the data. So in this particular article I am going to look at pushing the Current Status into Microsoft Teams so not just myself but anyone who is apart of the Teams is able to see the status.

Prerequisites

  • You have configured Azure AD App for Office 365 Service Communications API v2
  • Licensed for Power Automate either;
    • Per user plan
    • Per user plan with attended RPA
    • Per Flow plan

Configuring Power Automate to deliver posts into Microsoft Teams Channel.

You will now need to repeat the above process for client_secret and tenantid

After that, you need to create an HTTP action to query the Office 365 API. Populate the same as below, making sure all 3 variables are used.

Please be aware the HTTP Connector has an associated cost due to being a Premium Connector. This cost can be found at the following link

If you were to run the flow at this point it would return a big output of JSON. It’s best to use the Parse JSON action to make it easier to read. Set the Content as the Body of the previous HTTP action and the Schema below:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
    "type": "object",
    "properties": {
        "@@odata.context": {
            "type": "string"
        },
        "value": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "FeatureStatus": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "FeatureDisplayName": {
                                    "type": "string"
                                },
                                "FeatureName": {
                                    "type": "string"
                                },
                                "FeatureServiceStatus": {
                                    "type": "string"
                                },
                                "FeatureServiceStatusDisplayName": {
                                    "type": "string"
                                }
                            },
                            "required": &#91;
                                "FeatureDisplayName",
                                "FeatureName",
                                "FeatureServiceStatus",
                                "FeatureServiceStatusDisplayName"
                            ]
                        }
                    },
                    "Id": {
                        "type": "string"
                    },
                    "IncidentIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "Status": {
                        "type": "string"
                    },
                    "StatusDisplayName": {
                        "type": "string"
                    },
                    "StatusTime": {
                        "type": "string"
                    },
                    "Workload": {
                        "type": "string"
                    },
                    "WorkloadDisplayName": {
                        "type": "string"
                    }
                },
                "required": &#91;
                    "FeatureStatus",
                    "Id",
                    "IncidentIds",
                    "Status",
                    "StatusDisplayName",
                    "StatusTime",
                    "Workload",
                    "WorkloadDisplayName"
                ]
            }
        }
    }
}

Once the data has been parsed, you can loop through each service and check for service status. The next action is to add an Apply to each action for the value variable.

Within the loop, add a Group Condition that Status is equal to ServiceOperational and ServiceRestored.

Under the If No condition, you can add an action because the service is not operational. To demonstrate, I’ve configured steps for posting a message to Microsoft Teams as shown below

This will then be triggered when there is any status that doesn’t match the define ServiceOperational or ServiceRestored within Office 365. As you can see below I have been notified in Microsoft Teams for an issue with Microsoft 365 stack.

Regards
The Author – Blogabout.Cloud

Whats new in the Microsoft 365 Roadmap today? 29th October 2020

Whats new in the Microsoft 365 Roadmap today? 29th October 2020

Additions : 3
Updates : 18

More Details At: www.roadmapwatch.com

New FeaturesCurrent Status
Microsoft Project: convert the existing Roadmap groups accesses to use the new Common Data Service APIsIn Development
Outlook for Windows: Option to start meetings lateIn Development
Microsoft Teams: Targeted communications in GCCIn Development
Updated FeaturesCurrent StatusUpdate Type
Microsoft Teams: Targeted communications in EDU and WWMTLaunchedTitle
Office 365 Advanced Threat Protection: Preset security policies for EOP and Office 365 ATP SecurityLaunchedStatus
Outlook for Windows: Signature cloud settingsRolling OutStatus
Microsoft To Do: Support for Sharing Personal ListsLaunchedStatus
Microsoft Teams: Simplified Global Notification SettingsLaunchedStatus
Microsoft Teams: Organizational branding for line-of-business Teams app catalogRolling OutStatus
One Drive: Create Shared LibraryIn DevelopmentDescription
Outlook for iOS: Recommended Office informationRolling OutStatus
Outlook for iOS: Set Outlook as your default email app with iOS and iPadOS 14Rolling OutStatus
Outlook for Android: Use your voice to compose an emailRolling OutStatus
Outlook for iOS: Watch email complication with unread email badge countRolling OutStatus
Outlook for iOS: Use your voice to create a new calendar eventRolling OutStatus
Outlook for iOS: Use your voice to compose an emailRolling OutStatus
Outlook for Android: Use your voice to create a new calendar eventRolling OutStatus
Microsoft Teams: 6 New Calling Plan CountriesLaunchedStatus
Outlook for iOS: Support Scribble with iPadOS 14Rolling OutStatus
Outlook for iOS: Favorites for additional customersRolling OutStatus
Outlook for Android: Favorites for additional customersRolling OutStatus

Regards
The Author – Blogabout.Cloud

Whats new in Microsoft 365 Roadmap today? 28th October 2020

Whats new in Microsoft 365 Roadmap today? 28th October 2020

Additions : 3
Updates : 2

More Details At: www.roadmapwatch.com

New FeaturesCurrent Status
OneDrive: Office offline edit support in iOSIn Development
Exchange: Customizable Message Expiration Timeout Interval for Exchange OnlineIn Development
Exchange: Update to Exchange Online Reply-All Storm ProtectionIn Development
Updated FeaturesCurrent StatusUpdate Type
Microsoft 365 compliance center: Auto-apply retention labels for Teams meeting recordingsLaunchedStatus
Outlook: FindTime – Require Attendee Verification and Locking Poll for AttendeesRolling OutStatus

Regards
The Author – Blogabout.Cloud

Whats new in the Microsoft 365 Roadmap today? 27th October 2020

Whats new in the Microsoft 365 Roadmap today? 27th October 2020

Additions : 1
Updates : 5

More Details At: www.roadmapwatch.com

New FeaturesCurrent Status
Microsoft Graph: Office 365 Service Communications API availability in Microsoft GraphIn Development
Updated FeaturesCurrent StatusUpdate Type
Microsoft Search: Search scoping controlLaunchedStatus
Outlook for Android: Two way synchronization with local CalendarRolling OutStatus
SharePoint: Site Performance Page for Site Owners and EditorsIn DevelopmentStatus
SharePoint: new create list experienceRolling OutStatus
Microsoft Teams: Recording 3×3 gallery view for Microsoft Teams RoomsIn DevelopmentTitle, Description

Regards
The Author – Blogabout.Cloud

Whats new in Microsoft 365 yesterday? 26th October 2020

Whats new in Microsoft 365 yesterday? 26th October 2020

Additions : 0
Updates : 7

More Details At: www.roadmapwatch.com

Updated FeaturesCurrent StatusUpdate Type
Microsoft 365 admin center: Enhanced management capabilities in Microsoft Defender Antivirus for SMB IT adminsIn DevelopmentDescription
Microsoft Teams: Create a task from a message in the Desktop Client for Microsoft TeamsIn DevelopmentDescription
Outlook: Outlook on the web – Favorite people and calendar event browser notificationsIn DevelopmentDescription
Microsoft Information Protection: Configure external sharing for sensitivity labels in Teams and SharePoint sitesIn DevelopmentDescription
Microsoft Teams: Out of OfficeIn DevelopmentDescription
Office app: Changing update channel names for Microsoft 365 Apps for enterprise on iOS, Mac and AndroidIn DevelopmentDescription
Microsoft Compliance center: Advanced eDiscovery – Collect and review encrypted content attached to local copy in ExchangeIn DevelopmentDescription

Regards
The Author – Blogabout.Cloud

Whats new in the Microsoft 365 Roadmap from the weekend? 24/25th October 2020

Whats new in the Microsoft 365 Roadmap from the weekend? 24/25th October 2020

This weekend we have only saw the following update from Microsoft.

Additions : 0
Updates : 1

More Details At: www.roadmapwatch.com

Updated FeaturesCurrent StatusUpdate Type
Microsoft 365 admin center: Enhanced management capabilities in Microsoft Defender Antivirus for SMB IT adminsIn DevelopmentDescription

Regards
The Author – Blogabout.Cloud