Month: October 2024
Smart card redirection support for YubiKeys in Windows App on iOS
We’re excited to announce the public preview of smart card redirection support for YubiKeys is now available in Windows App on iOS version 11.0.4.
Microsoft and Yubico have partnered to deliver an improved experience for YubiKey and Windows App users. Now customers using Windows App can connect their YubiKey to their Apple iPhone or iPad and use it within the virtual Windows session to stay secure and productive. The Yubico integration supports the latest YubiKey 5 portfolio.
For more details, visit Redirect local devices, audio, and folders in Windows App.
Continue the conversation. Find best practices. Bookmark the Windows Tech Community, then follow us @MSWindowsITPro on X and on LinkedIn. Looking for support? Visit Windows on Microsoft Q&A.
Microsoft Tech Community – Latest Blogs –Read More
Meet Microsoft Entra at Ignite 2024: November 18-22
Microsoft Ignite is just around the corner, taking place from Monday, November 18, 2024 through Friday, November 22, 2024, in Chicago, Illinois and digitally. This event is the ultimate gathering for IT and Security professionals, developers, and business leaders from every corner of the world. During Ignite, dive into the latest AI innovations for AI transformation to learn from the brightest minds in the industry. Plus, discover solutions to help modernize and manage intelligent apps, protect your data, supercharge productivity, and expand your services. You’ll also have endless opportunities to network with partners and grow your community or business. While in-person passes are sold out, you can still register to participate online.
This year, we’re thrilled about our sessions on Microsoft Entra. These breakouts are your all-access pass to not only hear about the cutting-edge advancements in identity and access management (IAM), but also to engage with Microsoft Entra experts and team members behind these innovations. Whether you’re curious about advancing your Zero Trust architecture with identity and network, delving into the latest advancements in generative AI for securing access, or exploring our unified approach to identity and network access controls, we’ve got you covered!
Your complete guide to Microsoft Entra at Ignite:
Secure access for any identity to any resource with Microsoft Entra
Secure access for your workforce with the new Microsoft Entra Suite
Accelerate your Zero Trust journey: Unify Identity and Network Access
Bring passkey into your passwordless journey with Microsoft Entra ID
Security Copilot + Microsoft Entra: Secure access at the speed of AI
Secure access to privileged apps and resources with Microsoft Entra ID
Breakout sessions
Secure access for any identity to any resource with Microsoft Entra
BRK313 – Wednesday, November 20 | 11:00 AM – 11:45 AM CDT
https://aka.ms/Ignite2024/BRK313
Dive deep into the newest innovations and announcements for identity and network security solutions to establish Zero Trust access controls, secure access for employees, customers, and partners, and secure access in any cloud. Plus, see how generative AI and admin center tools boost efficiency and scale for your team.
Speakers: Alex Simons, Nichole Peterson
Secure access for your workforce with the new Microsoft Entra Suite
BRK314 – Wednesday, November 20 | 1:15 PM – 2:00 PM CDT
https://aka.ms/Ignite2024/BRK314
Identity is your first line of defense. But when identity and network access solutions operate in isolation and not in tandem, they can lead to increased complexity and inconsistent policies. Join us to learn how unifying Conditional Access across identities and network can help simplify your Zero Trust architecture. Find out how Microsoft Entra Suite can streamline employee onboarding, modernize remote access, and secure access to on-premises applications and internet resources.
Speakers: Irina Nechaeva, Jef Kazimer
Note for Microsoft partners: We are also hosting session BRK332 on Thursday, November 21st for you to learn about Microsoft Entra Suite and relevant business opportunities.
Accelerate your Zero Trust journey: Unify Identity and Network Access
BRK326 – Thursday, November 21 | 9:45 AM – 10:30 AM CDT
https://aka.ms/Ignite2024/BRK326
Discover how to accelerate your Zero Trust journey with a unified approach across identity and network. We will explore how Microsoft’s identity-centric Security Service Edge (SSE) solution can help you secure access to all private, on-premises, internet, and SaaS applications and resources from anywhere. Join us to learn about Microsoft’s technology partnerships, where you can further enhance your organization’s security posture.
Speakers: Sinead O’Donovan, John Savill, Abdi Saeedadabi
Theater sessions
Bring passkey into your passwordless journey with Microsoft Entra ID
THR659 – Thursday, November 21 | 5:15 PM – 5:45 PM CDT
https://aka.ms/Ignite2024/THR659
Many of our customers are either already deploying passwordless credentials or planning to do so in the next few years. Meanwhile, the industry is buzzing with excitement about passkeys. But what exactly are passkeys, and what do they mean for your organization’s passwordless journey? Join the Microsoft Entra ID product team as we explore the impact of passkeys on the passwordless ecosystem and share insights from Microsoft’s own passkey implementation and customer experiences.
Speaker: Nitika Gupta
Security Copilot + Microsoft Entra: Secure access at the speed of AI
THR556 – Wednesday, November 20 | 4:15 PM – 4:30 PM CDT
https://aka.ms/Ignite2024/THR556
Discover how Security Copilot and Microsoft Entra revolutionize identity and access management using GenAI to strengthen Zero Trust. Accelerate tasks like troubleshooting and policy management to reduce downtime. Elevate security teams by bridging skill gaps, improving decision-making, and guiding complex tasks, ensuring a strong security posture in an evolving threat landscape. Scale with AI by automating insights and streamlining security operations.
Speakers: Sarah Scott, Mitch Muro
Lab session
Secure access to privileged apps and resources with Microsoft Entra ID
LAB546 – Wednesday, November 20 | 6:30 PM – 7:45 PM, Thursday, November 21 | 1:15 PM – 2:30 PM CDT
https://aka.ms/Ignite2024/LAB456
Enable your organization to confidently deploy privileged apps in alignment with Zero Trust. In this hands-on session, you’ll learn to prevent identity-based attacks and secure access to resources with Microsoft Entra ID (formerly Azure AD). You’ll enable passkeys, phishing-resistant authentication, and Conditional Access, as well as implement access management, enable continuous access evaluation, and more, using labs from SC-300: Microsoft Identity and Access Administrator Associate.
Speakers: Robert Stewart, Danielle Augustin
Community Roundtable: Microsoft Entra Suite: Secure access for your employees
Join us for an engaging community table conversation, COM1053 about the Microsoft Entra Suite. Whether you’re just beginning or looking to enhance your knowledge, this discussion will provide actionable insights and foster a collaborative environment for sharing experiences and strategies to help you further your Zero Trust user access security. You won’t want to miss this opportunity to learn from peers and experts alike!
Expert meetup
Want to connect with Microsoft Entra experts and team members in-person while at Ignite? Visit the Expert meetup stations in the Microsoft Hub to ask questions and view demos.
Catch us at the Secure the Night party
Join Microsoft Security’s “Secure the Night” party on November 20 for an evening of exciting entertainment, food and refreshments, and the opportunity to connect informally with our Microsoft Security teams.
Make sure to bring your Microsoft Ignite Badge for entry.
Registration is OPEN and is required to attend.
The entire team looks forward to meeting you at Microsoft Ignite, whether in Chicago or in the chat rooms for our breakout sessions. Your feedback and partnership are essential to the continuous development of Microsoft Entra innovations.
Don’t miss this opportunity to connect, learn, and grow at Microsoft Ignite 2024!
Irina Nechaeva
General Manager, Microsoft Entra
Learn more about Microsoft Entra
Prevent identity attacks, ensure least privilege access, unify access controls, and improve the experience for users with comprehensive identity and network access solutions across on-premises and clouds.
Microsoft Entra Suite | Microsoft Security Blog
Microsoft Entra News and Insights | Microsoft Security Blog
Microsoft Entra blog | Tech Community
Microsoft Entra documentation | Microsoft Learn
Microsoft Entra discussions | Microsoft Community
Microsoft Tech Community – Latest Blogs –Read More
Conditionally hide item in custom gallery view
Hi all,
Is there a way to conditionally hide an item in a custom view (gallery) based on the value of a Yes/No column? See screenshot below for my attempt using CSS ‘display’, but I find that it still leaves an empty slot in the list.
Any suggestions?
Thank you!
Hi all, Is there a way to conditionally hide an item in a custom view (gallery) based on the value of a Yes/No column? See screenshot below for my attempt using CSS ‘display’, but I find that it still leaves an empty slot in the list. Any suggestions? Thank you! Read More
Download Price List – https://learn.microsoft.com/en-us/partner-center/developer/get-a-price-sheet
Hi guys, check if you can help me out.
I’m trying to download the price list of my customer, I’m following this documentation here https://learn.microsoft.com/en-us/partner-center/developer/get-a-price-sheet the problem is that I don’t have privileges to access this resource.
I’m using an access token retrieved through the OAuth2 user consent, I have an WebApplication created on my Microsoft Entra ID, this application has the permissions below:
I’m able to receive the authorization code and exchange it to an access code normaly, however this access code is not working when I try to use it to retrieve the price list, where is how I’m doing it:
var market = “EU”; // Two-letter country/region code
var view = “updatedlicensebased”; // Type of price sheet view
var requestUri = $”https://api.partner.microsoft.com/v1.0/sales/pricesheets(Market='{market}’,PricesheetView='{view}’)/$value”;
System.Net.Http.HttpRequestMessage linesMarketplaceReq6 = new System.Net.Http.HttpRequestMessage(HttpMethod.Get, requestUri);
linesMarketplaceReq6.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(“Bearer”, accessToken);
linesMarketplaceReq6.Headers.Host = “api.partner.microsoft.com”;
var linesMarketplaceResult6 = client.Send(linesMarketplaceReq6);
var result6 = await linesMarketplaceResult6.Content.ReadAsStringAsync();
var t = await linesMarketplaceResult6.Content.ReadAsStringAsync();
t.Dump();
The response is: { “statusCode”: 401, “message”: “Unauthorized: Invalid Authorization header” }
Then I found this thread here
https://github.com/microsoft/Partner-Center-PowerShell/issues/405#issuecomment-1709773538
which tells me to get a new access_code using the current refresh_code, but changing the resource to https://api.partner.microsoft.com , but I when I try to do it I receive other error:
{“error”:”invalid_grant”,”error_description”:”AADSTS65001: The user or administrator has not consented to use the application with ID ’92b24bbe-bbe0-44e9-b9ca-35ba915bab5e’ named ‘SITC-CSP’. Send an interactive authorization request for this user and resource., …,”suberror”:”consent_required”}
Code to get the new access_code using the refresh token:
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, new Uri($”https://login.microsoftonline.com/{tenantId}/oauth2/token”))
{
Content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>(“resource”, “https://api.partner.microsoft-int.com”),
new KeyValuePair<string, string>(“client_id”, “<client_id>”),
new KeyValuePair<string, string>(“client_secret”, “<client_secret>”),
new KeyValuePair<string, string>(“grant_type”, “refresh_token”),
new KeyValuePair<string, string>(“refresh_token”, refreshToken),
new KeyValuePair<string, string>(“scope”, “openid”),
})
};
request.Headers.Add(“ContentType”,”application/x-www-form-urlencoded”);
var response = await client.SendAsync(request);
var data = await response.Content.ReadAsStringAsync();
data.Dump();
Any help would be greatly appreciated. Thanks in advance!
Hi guys, check if you can help me out. I’m trying to download the price list of my customer, I’m following this documentation here https://learn.microsoft.com/en-us/partner-center/developer/get-a-price-sheet the problem is that I don’t have privileges to access this resource. I’m using an access token retrieved through the OAuth2 user consent, I have an WebApplication created on my Microsoft Entra ID, this application has the permissions below:I’m able to receive the authorization code and exchange it to an access code normaly, however this access code is not working when I try to use it to retrieve the price list, where is how I’m doing it: var market = “EU”; // Two-letter country/region code
var view = “updatedlicensebased”; // Type of price sheet view
var requestUri = $”https://api.partner.microsoft.com/v1.0/sales/pricesheets(Market='{market}’,PricesheetView='{view}’)/$value”;
System.Net.Http.HttpRequestMessage linesMarketplaceReq6 = new System.Net.Http.HttpRequestMessage(HttpMethod.Get, requestUri);
linesMarketplaceReq6.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(“Bearer”, accessToken);
linesMarketplaceReq6.Headers.Host = “api.partner.microsoft.com”;
var linesMarketplaceResult6 = client.Send(linesMarketplaceReq6);
var result6 = await linesMarketplaceResult6.Content.ReadAsStringAsync();
var t = await linesMarketplaceResult6.Content.ReadAsStringAsync();
t.Dump(); The response is: { “statusCode”: 401, “message”: “Unauthorized: Invalid Authorization header” }Then I found this thread herehttps://github.com/microsoft/Partner-Center-PowerShell/issues/405#issuecomment-1709773538which tells me to get a new access_code using the current refresh_code, but changing the resource to https://api.partner.microsoft.com , but I when I try to do it I receive other error:{“error”:”invalid_grant”,”error_description”:”AADSTS65001: The user or administrator has not consented to use the application with ID ’92b24bbe-bbe0-44e9-b9ca-35ba915bab5e’ named ‘SITC-CSP’. Send an interactive authorization request for this user and resource., …,”suberror”:”consent_required”}Code to get the new access_code using the refresh token: using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, new Uri($”https://login.microsoftonline.com/{tenantId}/oauth2/token”))
{
Content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>(“resource”, “https://api.partner.microsoft-int.com”),
new KeyValuePair<string, string>(“client_id”, “<client_id>”),
new KeyValuePair<string, string>(“client_secret”, “<client_secret>”),
new KeyValuePair<string, string>(“grant_type”, “refresh_token”),
new KeyValuePair<string, string>(“refresh_token”, refreshToken),
new KeyValuePair<string, string>(“scope”, “openid”),
})
};
request.Headers.Add(“ContentType”,”application/x-www-form-urlencoded”);
var response = await client.SendAsync(request);
var data = await response.Content.ReadAsStringAsync();
data.Dump(); Any help would be greatly appreciated. Thanks in advance! Read More
Failed sign in after reset of windows 10
Hi good people,
I was trying to use a PC that had been setting around for a couple of years. My coworker did not remember the password and we decided to just reset the PC and delete everything on it. However, after I had done so I end up back on the sign in screen, for an account that is not an admin, and when I sign in using the pin I get “The user profile service service failed to sign-in. User profile cannot be loaded.”. I was hoping that after the reset (cleaning all drives), I would end up with a clean PC as if I just bought it.
Any help is appreciated as I am lost.
Thanks in advance.
Hi good people, I was trying to use a PC that had been setting around for a couple of years. My coworker did not remember the password and we decided to just reset the PC and delete everything on it. However, after I had done so I end up back on the sign in screen, for an account that is not an admin, and when I sign in using the pin I get “The user profile service service failed to sign-in. User profile cannot be loaded.”. I was hoping that after the reset (cleaning all drives), I would end up with a clean PC as if I just bought it. Any help is appreciated as I am lost.Thanks in advance. Read More
Outlook for Windows
Hi – I would appreciate some help if possible.
I have been using Microsoft Outlook for many years but have now had to start using Outlook for Windows for my Outlook e-mail account as MS Outlook no longer supports it.
Microsoft Outlook gave the option to add and delete fields such as ‘From’, ‘Subject’ ‘Received’ etc by right clicking and choosing ‘Customize Current View’. I found this very useful as I added an ‘Action’ column where I could add reminders and comments for particular e-mails.
Is there a way I can do similar in Outlook for Windows as all it displays is ‘From’, ‘Subject’ and ‘Received’.
When I right click in the row it just gives ‘Sort Ascending’, Sort Descending’ or ‘Change the View’, which then gives just three options of ‘Roomy’, ‘Cosy’ or ‘Compact’.
Grateful if anyone has some advice.
Regards
Malcolm
Hi – I would appreciate some help if possible.I have been using Microsoft Outlook for many years but have now had to start using Outlook for Windows for my Outlook e-mail account as MS Outlook no longer supports it.Microsoft Outlook gave the option to add and delete fields such as ‘From’, ‘Subject’ ‘Received’ etc by right clicking and choosing ‘Customize Current View’. I found this very useful as I added an ‘Action’ column where I could add reminders and comments for particular e-mails.Is there a way I can do similar in Outlook for Windows as all it displays is ‘From’, ‘Subject’ and ‘Received’.When I right click in the row it just gives ‘Sort Ascending’, Sort Descending’ or ‘Change the View’, which then gives just three options of ‘Roomy’, ‘Cosy’ or ‘Compact’.Grateful if anyone has some advice.RegardsMalcolm Read More
Digital signage in Teams Rooms brings your messages to your meeting spaces
Digital signage in Microsoft Teams Rooms expands communications into your meeting spaces, enhancing employee engagement and connection. When your Teams Rooms devices are not used for meetings nor presentations, you can set them up to run in signage mode, where the front-of-room displays show dynamic content and relevant information in rotation. You can showcase company news, organization updates, upcoming events, internal campaigns, and more, enabling IT, Communications, HR, and Facilities to share messages directly with employees in between meetings and maximizing your existing Teams Rooms hardware investments.
Customize signage mode to fit your organization’s needs and preferences
Signage mode fills the front-of-room display with content while keeping the room information and calendar preview visible in the Teams Rooms banner, so users remain aware of the room context while viewing signage content. If you prefer to have signage content occupy the entire front-of-room display without any room information overlayed, you can hide the Teams Rooms banner. A simple tap on the touch console in signage mode seamlessly returns the device to the Teams Rooms home screen.
To give you full control and flexibility, signage mode activates and deactivates based on the timers you set. You can set the number of minutes the device has been idle for before signage mode is activated, as well as how many minutes before a meeting is scheduled to start before signage mode is deactivated. To ensure users who arrive early in the room before a meeting starts and those who linger in the room after a meeting ends can see signage content, you can set the activation and deactivation timers to the lowest possible values.
In addition to being able to specify the signage mode activation and deactivation timers, you can also set whether signage mode adheres to the operating system’s screen timeout settings. To avoid screen burn and comply with sustainability mandates, you can keep the default behavior of signage mode which adheres to the screen timeout settings for most of your devices. However, if you have devices that are placed in rooms with glass walls or common open areas with high foot traffic, you have the option to have signage mode ignore the screen timeout settings for these devices to ensure maximum visibility of signage content.
Seamlessly integrate with supported digital signage providers
We are excited to partner with Appspace and XOGO to bring their digital signage solutions to Teams Rooms to help you easily create, deploy, and manage content for digital signage. Appspace and XOGO are trusted third-party options built into the Teams Rooms Pro Management portal for you to enable as a signage source.
Our native integrations with Appspace and XOGO support the automatic registration of Teams Rooms devices into their content management systems, streamlining device onboarding and management. As part of the integration, Appspace and XOGO will receive the names of the rooms that are registered in their system so you can properly identify your Teams Rooms devices within Appspace and XOGO. Once your rooms are registered into Appspace or XOGO, you can update and manage the signage content in your rooms directly from their respective content management systems.
For customers who are not using any of the supported digital signage providers, you may add custom web URLs as a signage source.
Remotely manage digital signage settings at scale with flexible management permissions
You can conveniently configure tenant-wide and room-specific digital signage settings directly from the Teams Rooms Pro Management portal. Setting up digital signage for your organization is straightforward: just enable the digital signage feature at the tenant-level, add a signage source, and assign the signage source and settings to your rooms.
To activate integrations with one of our supported digital signage providers, simply select your provider of choice from the signage source options and enter a valid integration ID from Appspace or XOGO. You can access the Appspace Teams Rooms setup guide here, and the XOGO Teams Rooms setup guide here. If you want to enable a web URL as a signage source, select the custom option and enter a valid web URL. Make sure that your web URL meets our requirements to ensure it loads successfully.
Assigning signage source and settings to your rooms is built with scale in mind. You can assign signage source and settings to multiple rooms and/or room groups at once, simplifying your digital signage management workflow.
We understand that digital signage administration may not look the same for each organization. Some customers may want to centrally manage digital signage, while others may want to assign digital signage management to local admins. By default, the Teams Rooms Pro Manager and the M365 Global Admin roles have rights to manage digital signage management for the tenant. However, you can grant digital signage tenant management and/or digital signage room management permissions from the Teams Rooms Pro Management portal to additional users using the role-based access control per your desired governance model.
Digital signage is currently available for Teams Rooms on Windows, Teams Rooms Pro license, and commercial cloud customers. Integrations with third-party digital signage providers require a separate subscription with the provider. Contact Appspace and XOGO directly for quotes. Support for Government Community Cloud, Government Community Cloud High, Department of Defense, and Teams Rooms on Android will be added in the future.
Microsoft Tech Community – Latest Blogs –Read More
VMware HCX Design with Azure VMware Solution
Overview
VMware HCX is one of the Azure VMware Solution components that generates a large number of service requests from our customers. The Azure VMware Solution product group has worked to cover the most common design considerations that you should know about when using VMware HCX with the Azure VMware Solution.
Azure VMware Solution is a VMware validated first party Azure service from Microsoft that provides private clouds containing VMware vSphere clusters built from dedicated bare-metal Azure infrastructure. It enables customers to leverage their existing investments in VMware skills and tools, allowing them to focus on developing and running their VMware-based workloads on Azure.
VMware HCX is the mobility and migration software used by the Azure VMware Solution to connect remote VMware vSphere environments to the Azure VMware Solution. These remote VMware vSphere environments can be on-premises, co-location or cloud-based instances.
Figure 1 – Azure VMware Solution with VMware HCX Service Mesh
In the next section, I will introduce the architectural components of the Azure VMware Solution.
Architectural Components
The diagram below describes the architectural components of the Azure VMware Solution.
Figure 2 – Azure VMware Solution Architectural Components
Each Azure VMware Solution architectural component has the following function:
Azure Subscription: Used to provide controlled access, budget and quota management for the Azure VMware Solution.
Azure Region: Physical locations around the world where we group data centers into Availability Zones (AZs) and then group AZs into regions.
Azure Resource Group: Container used to place Azure services and resources into logical groups.
Azure VMware Solution Private Cloud: Uses VMware software, including vCenter Server, NSX software-defined networking, vSAN software-defined storage, and Azure bare-metal ESXi hosts to provide compute, networking, and storage resources. Azure NetApp Files, Azure Elastic SAN, and Pure Cloud Block Store are also supported.
Azure VMware Solution Resource Cluster: Uses VMware software, including vSAN software-defined storage, and Azure bare-metal ESXi hosts to provide compute, networking, and storage resources for customer workloads by scaling out the Azure VMware Solution private cloud. Azure NetApp Files, Azure Elastic SAN, and Pure Cloud Block Store are also supported.
VMware HCX: Provides mobility, migration, and network extension services.
VMware Site Recovery: Provides Disaster Recovery automation, and storage replication services with VMware vSphere Replication. Third party Disaster Recovery solutions Zerto DR and JetStream DR are also supported.
Dedicated Microsoft Enterprise Edge (D-MSEE): Router that provides connectivity between Azure cloud and the Azure VMware Solution private cloud instance.
Azure Virtual Network (VNet): Private network used to connect Azure services and resources together.
Azure Route Server: Enables network appliances to exchange dynamic route information with Azure networks.
Azure Virtual Network Gateway: Cross premises gateway for connecting Azure services and resources to other private networks using IPSec VPN, ExpressRoute, and VNet to VNet.
Azure ExpressRoute: Provides high-speed private connections between Azure data centers and on-premises or colocation infrastructure.
Azure Virtual WAN (vWAN): Aggregates networking, security, and routing functions together into a single unified Wide Area Network (WAN).
In the next section, I will describe the design considerations for VMware HCX when used with the Azure VMware Solution.
Design Considerations
When deploying VMware HCX be sure to consider the following design considerations for a successful migration to the Azure VMware Solution.
Design Consideration 1: Multi-Site Network Extension Topology. Multi-site Network Extension topologies are supported by VMware HCX. These should be used in specific cases and discussed in-depth with your architecture team before adoption.
VMware HCX Network Extension appliances do have the capability to extend the same on-prem network to multiple Azure VMware Solution destinations. It is important to note that a common broadcast domain will be used across all environments. Below is a summary of the supported types of multi-site network extensions.
Topology 1: One-to-Many/”V” Architecture: In a One-to-Many topology, a source network can be extended to multiple (up to 3) Azure VMware Solution environments. Here are the design implications when utilizing a one-to-many network extension deployment.
VMware HCX uses point-to-point appliance pairs (NE appliances cannot connect to multiple destinations). It is important to note that a common broadcast domain will be used across all connected sites.
Figure 3 – One-to-Many Network Extension Topology
Extending the same source network to three different Azure VMware Solution is also supported under the one-to-many network extension topology.
Figure 4 – One-to-Many Network Extension Topology
Topology 2: Daisy Chain/”L” Architecture: Daisy chaining or the “L” shaped topology network extension is a supported architecture with VMware HCX. It can be used when you are looking to extend the same network across multiple sites.
In a Daisy chain or “L” shaped topology, the same network can be extended up to 3 environments. This will utilize a common broadcast domain across all connected sites. Please note in this configuration the gateway remains on-premises, additional latency will be incurred.
Figure 5 – Daisy Chain/ “L” Network Extension Topology
Topology 3: Any-to-Any Architecture: For an any-to-any network extension to be supported, the network extension can only be extended between two destinations. Please note, it is supported to have VMware HCX migrations between three sites in a closed loop architecture.
Figure 6 – Any-to-Any Network Extension Topology
Design Consideration 2: MTU requirements for Network Profiles. When configuring your Network profiles in VMware HCX it is important to take into consideration the MTU size of each profile. Be sure to validate the required MTU, as requirements change depending on how connectivity to VMware HCX will be established from on-premises (IPSec VPN, Azure ExpressRoute or VMware NSX Public IP).
Use this guide of recommended MTU sizes for the Network Profiles when connecting to Azure VMware Solution:
Connectivity Method
Management
Uplink
Replication
vMotion
Azure ExpressRoute
1500
1500
1500 or 9000
1500 or 9000
VMware HCX over IPSec VPN
1500
1300
1500 or 9000
1500 or 9000
VMware HCX over VMware NSX Public IP
1500
1500
1500 or 9000
1500 or 9000
Table 1 – VMware HCX Network Profile MTU Sizes
Design Consideration 3: Limitations of number of VMware HCX Mobility Optimized Networking (MON) enabled VMs. When Deploying VMware HCX in Azure VMware Solution, the default HCX Manager size is set to 4 vCPU and 12 GB of memory.
With this default configuration you will have the following limitations when it comes to VMs with MON enabled:
250 VMs with MON enabled
100 Network Extension with MON enabled
100 concurrent Migration to MON enabled networks
Within Azure VMware Solution, the option to increase the vCPU and memory configuration of the HCX Manager is possible through a Run Command. The HCX Manager will be increased to 8 vCPU and 24 GB of memory.
With a scaled-up HCX Manager the MON limitations are increased:
900 VMs with MON enabled
100 Network Extensions with MON enabled
100 concurrent Migrations to MON enabled networks.
Figure 7 – Azure VMware Solution Run Command for VMware HCX
Design Consideration 4: DHCP Server on a MON Network Extension. When using DHCP on a MON enabled network, be sure that the default gateway IP and DHCP server IP are not the same. Having the IP address of the default gateway and DHCP server the same, can lead to network disruptions on a MON enabled network. The Network Gateway for the extended segment can provide DHCP services but must have a unique IP address for the DHCP server.
Design Consideration 5 – Anti-Patterns: Try to avoid using these anti-patterns in your recoverability design. The following Multi-Site Network Extension Topologies are not supported with VMware HCX.
Topology 1: One-to-Many/”V” Architecture: Extending an on-prem site to a fourth Azure VMware Solution private cloud is not supported through VMware HCX.
Figure 8 – Unsupported One-to-Many Network Extension Topology
Topology 2: Daisy Chain/”L” Architecture: Extending an on-prem site to a fourth Azure VMware Solution private cloud is not supported in a Daisy Chain/ “L” shape architecture. This will exceed the hop-limit of VMware HCX.
Figure 9 – Unsupported Daisy Chain/ “L” Network Extension Topology
Topology 3: Any-to-Any Architecture: The any-to-any multi-site network extension is supported by VMware. VMware HCX does not support a closed loop layer 2 extension in this type of design. VMware network extension appliances do not detect or mitigate loops that may occur in a closed loop setup.
Figure 10 – Unsupported Any-to-Any Network Extension Topology
In the following section, I will describe the next steps that would need to be made to progress this high-level design estimate towards a validated detailed design.
Next Steps
The Azure VMware Solution sizing estimate should be assessed using Azure Migrate. With large enterprise solutions for strategic and major customers, an Azure VMware Solution Solutions Architect from Azure, VMware, or a VMware Partner should be engaged to ensure the solution is correctly sized to deliver business value with the minimum of risk. This should also include an application dependency assessment to understand the mapping between application groups and identify areas of data gravity, application network traffic flows, and network latency dependencies.
Summary
In this post, we described helpful design considerations when using VMware HCX with the Azure VMware Solution.
In this post, we took a closer look at the architectural building blocks of Azure VMware Solution, and the design considerations of using VMware HCX with the Azure VMware Solution. We also discussed the next steps to continue an Azure VMware Solution design.
If you are interested in the Azure VMware Solution, please use these resources to learn more about the service:
Homepage: Azure VMware Solution
Documentation: Azure VMware Solution
SLA: SLA for Azure VMware Solution
Azure Regions: Azure Products by Region
Design: Availability Design Considerations
Design: Recoverability Design Considerations
Design: Performance Design Considerations
Design: Security Design Considerations
VMware Ports and Protocols for HCX VMware HCX – VMware Ports and Protocols
VMware Interoperability Matrix Product Interoperability Matrix (vmware.com)
VMware HCX: Configuration & Best Practices
Troubleshooting: VMware HCX Troubleshooting with Azure VMware Solution
GitHub repository: Azure/azure-vmware-solution
Well-Architected Framework: Azure VMware Solution workloads
Cloud Adoption Framework: Introduction to the Azure VMware Solution adoption scenario
Network connectivity scenarios: Enterprise-scale network topology and connectivity for Azure VMware Solution
Enterprise Scale Landing Zone: Enterprise-scale for Microsoft Azure VMware Solution
Enterprise Scale GitHub repository: Azure/Enterprise-Scale-for-AVS
Azure CLI: Azure Command-Line Interface (CLI) Overview
PowerShell module: Az.VMware Module
Azure Resource Manager: Microsoft.AVS/privateClouds
REST API: Azure VMware Solution REST API
Terraform provider: azurerm_vmware_private_cloud Terraform Registry
Author Bios
Ricky Perez is a Senior Technical Program Manager in the Azure VMware Solution product group at Microsoft. His background is in solution architecture with experience in public cloud and core infrastructure services.
Jason Trammell is a Senior Software Engineer in the Azure VMware Solution engineering group at Microsoft.
Kenyon Hensler is a Principal Technical Program Manager in the Azure VMware Solution product group at Microsoft. His background is in system engineering with experience across all facets of enterprise networking and compute stacks.
René van den Bedem is a Principal Technical Program Manager in the Azure VMware Solution product group at Microsoft. His background is in enterprise architecture with extensive experience across all facets of the enterprise, public cloud & service provider spaces, including digital transformation and the business, enterprise, and technology architecture stacks. René works backwards from the problem to be solved and designs solutions that deliver business value with the minimum of risk. In addition to being the first quadruple VMware Certified Design Expert (VCDX), he is also a Dell Technologies Certified Master Enterprise Architect, a Nutanix Platform Expert (NPX), and a VMware vExpert.
Link to PPTX Diagrams: azure-vmware-solution/azure-vmware-master-diagrams
Microsoft Tech Community – Latest Blogs –Read More
Connecting to Azure SQL Database using SQLAlchemy and Microsoft Entra authentication
In this blog, we will focus on a common solution that demonstrates how to securely connect to an Azure SQL Database using Microsoft Entra Authentication with the current logged in user. It leverages the SQLAlchemy library for Python, integrating Entra’s secure identity framework with your database connection.
Key Steps:
Set Current User as Admin: You begin by configuring an Azure Entra account as the admin for the Azure SQL Server.
Configure Firewall Rules: Ensure that your machine or application has access by adding its IP address to the Azure SQL Server firewall.
Create Secure Connection: Finally, the Python SQLAlchemy library is used to connect to the database, relying on Microsoft Entra authentication instead of hard-coded credentials.
With this setup, we achieve a secure, credential-less connection to Azure SQL Database!
Comparing Azure SQL Authentication Methods
Before diving into the solution, let’s compare authentication methods. When it comes to securing access to your Azure SQL Database, the method you choose for authentication can significantly impact both the security and manageability of your applications. There are two primary methods commonly used: SQL Authentication, which relies on username and password credentials, and Microsoft Entra Managed Identity, which utilizes Microsoft Entra ID (formally Azure AD) for identity and access management.
SQL Authentication Drawbacks
SQL Authentication, while straightforward, comes with inherent security risks and management burdens. One of the main concerns is the reliance on hard-coded or stored credentials, often passed through connection strings in application code or configuration files. Additionally, using the stored static credentials allows continued access until explicitly revoked, enlarging your database’s attack surface. For example, when using SQL Authentication, developers might include connection credentials like this:
connection_string = “Driver={SQL Server};Server=tcp:yourserver.database.windows.net,1433;Database=yourdb;Uid=yourusername;Pwd=yourpassword;”
In this example, embedding the username and password in the application introduces several vulnerabilities:
Credential Exposure: If the codebase is shared, leaked, or compromised, database credentials can be exposed.
Secret Management: You need solutions like Azure Key Vault to securely store and rotate credentials, adding complexity.
Credential Rotations: SQL credentials require manual or automated rotation, increasing operational overhead.
Improved Security with Microsoft Entra authentication
Microsoft Entra authentication (formerly known as Azure AD) offers a more secure and manageable way to authenticate applications and users to Azure SQL Database. Instead of relying on stored credentials, Microsoft Entra uses tokens generated dynamically and securely by Azure’s identity management system, eliminating the need for static credentials in your applications or configuration files.
Key Security Advantages:
Credential-less Access: No need to store or transmit sensitive credentials (username and password) in code or configuration files.
Time-Limited Access: Entra-generated tokens have limited lifetimes, reducing the risk of misuse or unauthorized access over extended periods.
Centralized Management: Entra integrates seamlessly with other Azure services, providing centralized identity and access control across your applications.
Role-Based Access Control (RBAC): By using Entra authentication, access can be more finely tuned using RBAC, meaning users only get the permissions they need to perform their tasks.
In contrast to SQL Authentication, which requires manually revoking credentials, Microsoft Entra authentication ensures that when access to an account is revoked, it immediately affects all Azure services, preventing further unauthorized access. This vastly reduces the risk of security breaches due to stale credentials lingering in code repositories or configuration files.
Pre-requisites
An Azure subscription.
An Azure SQL database configured with Microsoft Entra authentication. You can create one using the Create database quickstart.
The latest version of the Azure CLI.
Visual Studio Code with the Python extension.
Python 3.8 or later.
ODBC Driver for SQL Server
Configure the Database
Setting Current User as Azure SQL DB Admin
First, you need to set your current Azure AD user as the Azure SQL Admin for your database. Follow the steps below:
Navigate to Your Azure SQL Server:
Log in to the Azure Portal.
Search for and select your Azure SQL Server (not the individual database).
Set Azure AD Admin:
In the left-hand menu, under Settings, click on Microsoft Entra ID.
Select Support Only Microsoft Entra authentication for this server to ensures no one can access the database server using SQL login credentials.
Click on Set admin.
In the Add admin pane, search for your user account.
Select your account and click Select.
This will set your user as a database admin and allow it to login using Microsoft Entra authentication.
Click on Save.
Adding Your IP Address to the Azure SQL Server Firewall
To ensure your connection to Azure SQL Database is secure and allowed, you will need to add your IP address to the server’s firewall rules. This step prevents unauthorized IPs from accessing your server while allowing your trusted IP to connect. Follow these steps:
Navigate to Your Azure SQL Server:
Log in to the Azure Portal.
Search for and select your Azure SQL Server.
Configure Firewall Settings:
In the left-hand menu under Security, select Networking.
In the Public network access section, enable Selected networks to allow the firewall rule in order to whitelist your IP address.
Under the Firewall rules section, click on Add your client IPv4 address. This will automatically detect your current IP address and add it to the list of allowed addresses.
Click on Allow Azure services and resources to access this server. This will allow your web app running on Azure to access the database.
Click on Save.
At this point, we have set up an Azure AD user as the admin for the Azure SQL Server, enforcing Entra ID (formerly Azure AD) authentication and eliminating the need for SQL login credentials. This reduces the risk of credential exposure while streamlining identity management. We also added your IP to the Azure SQL Server firewall whitelist, ensuring only authorized IP addresses can connect, minimizing exposure to external threats.
With these security measures in place, we are ready to securely connect and interact with the Azure SQL Database using Python, leveraging Microsoft for seamless, credential-free authentication.
Set up the project
Now that the database setup is complete, we are ready to implement and use the code that will interact with the database. We will be using SQLAlchemy, which provides many database capabilities for python developers, like ORM capabilities and connection pooling.
1. Open Visual Studio Code and create a new folder for your project and change directory into it.
mkdir python-sql-azure
cd python-sql-azure
2. Create a requirements.txt file with the following content:
pyodbc
fastapi
uvicorn[standard]
pydantic
azure-identity
sqlalchemy
3. Create a start.sh file (this is only needed if you plan to deploy this project to azure)
gunicorn -w 4 -k uvicorn.workers.UvicornWorker app:app
4. Create an app.py file with the content below:
import struct
import urllib
from typing import Union, Optional
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import sqlalchemy as db
from sqlalchemy import String, select, event
from sqlalchemy.orm import Session, Mapped, mapped_column
from sqlalchemy.ext.declarative import declarative_base
from azure.identity import DefaultAzureCredential
driver_name = ‘{ODBC Driver 18 for SQL Server}’
server_name = ‘<server_name>’
database_name = ‘<database_name>’
connection_string = ‘Driver={};Server=tcp:{}.database.windows.net,1433;Database={};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30’.format(driver_name, server_name, database_name)
Base = declarative_base()
credential = DefaultAzureCredential()
class UserSchema(BaseModel):
first_name: str
last_name: Union[str, None] = None
class User(Base):
__tablename__ = “user”
id: Mapped[int] = mapped_column(primary_key=True)
first_name: Mapped[str] = mapped_column(String(30))
last_name: Mapped[Optional[str]]
def __repr__(self) -> str:
return f”User(id={self.id!r}, first_name={self.first_name!r}, last_name={self.last_name!r})”
def get_engine():
params = urllib.parse.quote(connection_string)
url = “mssql+pyodbc:///?odbc_connect={0}”.format(params)
return db.create_engine(url, pool_size=1, max_overflow=0)
engine = get_engine()
# from https://docs.sqlalchemy.org/en/20/core/engines.html#generating-dynamic-authentication-tokens
@event.listens_for(engine, “do_connect”)
def provide_token(dialect, conn_rec, cargs, cparams):
“””
Called before the engine creates a new connection. Injects an EntraID token into the connection parameters.
“””
print(‘creating new token’)
token_bytes = credential.get_token(“https://database.windows.net/.default”).token.encode(“UTF-16-LE”)
token_struct = struct.pack(f'<I{len(token_bytes)}s’, len(token_bytes), token_bytes)
SQL_COPT_SS_ACCESS_TOKEN = 1256 # This connection option is defined by microsoft in msodbcsql.h
cparams[“attrs_before”] = {SQL_COPT_SS_ACCESS_TOKEN: token_struct}
# set up the database
Base.metadata.create_all(engine)
app = FastAPI()
@app.get(“/all”)
def get_users():
with Session(engine) as session:
stmt = select(User)
rows = []
for user in session.scalars(stmt):
print(user.id, user.first_name, user.last_name)
rows.append(f”{user.id}, {user.first_name}, {user.last_name}”)
return rows
@app.get(“/user/{user_id}”)
def get_user(user_id: int):
with Session(engine) as session:
stmt = select(User).where(User.id == user_id)
user = session.execute(stmt).scalar()
if not user:
raise HTTPException(status_code=404, detail=”User not found”)
return f”{user.id}, {user.first_name}, {user.last_name}”
@app.post(“/user”)
def create_user(item: UserSchema):
with Session(engine) as session:
user = User(first_name=item.first_name, last_name=item.last_name)
session.add(user)
session.commit()
return item
Notes:
make sure to update the server_name and database_name variables in the code above with the names you used to create both the SQL server and the database
The provide_token method will be called every time a database connection is created by the engine. It’s responsible for injecting the EntraID token so it can successfully authenticate to the database. This is necessary in order to always have a fresh token when creating a connection, otherwise if we had a static token that was already expired, it would never be able to connect again to the database.
Running Locally
1. Create a virtual environment for the app
py -m venv .venv
.venvscriptsactivate
2. Install requirements
pip install -r requirements.txt
3. Run the app.py file in Visual Studio Code.
uvicorn app:app –reload
4. Open the Swagger UI at http://127.0.0.1:8000/docs
5. Create a new user using the Create User endpoint
6. Try Get User and Get Users endpoints
Running on Azure
1. Use the az webapp up to deploy the code to App Service.
az webapp up –resource-group <resource-group-name> –name <web-app-name>
2. Use the az webapp config set command to configure App Service to use the start.sh file.
az webapp config set –resource-group <resource-group-name> –name <web-app-name> –startup-file start.sh
3. Use the az webapp identity assign command to enable a system-assigned managed identity for the App Service. This is needed because we will grant database access to this identity, with specific roles.
az webapp identity assign –resource-group <resource-group-name> –name <web-app-name>
4. Grant permissions to the web app identity by running the SQL commands below on your database. The first commanda creates a database user for the web app and the following ones sets data reader/writer roles (you can find more details about roles at Database-level roles – SQL Server | Microsoft Learn). By doing this we guarantee that the web app has the least privilege.
CREATE USER [<web-app-name>] FROM EXTERNAL PROVIDER
ALTER ROLE db_datareader ADD MEMBER [<web-app-name>]
ALTER ROLE db_datawriter ADD MEMBER [<web-app-name>]
5. Open the Swagger UI at https://<web-app-name>.azurewebsites.net/docs and test the endpoints again
References
Microsoft Tech Community – Latest Blogs –Read More
Microsoft 365 Copilot - Small Business Guide to Set Up Copilot
Take a look at how wave two of Microsoft 365 Copilot can specifically help your small business by leveraging the secure application of generative AI with your work data. Use it to author presentations and content, reduce digital debt to focus on what’s important as you engage with customers, and automate everyday tasks and processes. For IT, see how to light up Microsoft 365 Copilot in your tenant, and get tips and resources for onboarding your organization.
Mary David Pasch, Principal Product Manager for Microsoft 365 Copilot, joins Jeremy Chapman to share how to use Copilot to save time, drive productivity, and foster stronger connections with your customers.
Boost productivity and efficiency.
Focus on essential tasks, attract and retain customers, and automate processes with ease — no coding required. See how Microsoft 365 Copilot benefits your small business.
Create custom experiences.
Set up a Copilot agent to quickly find answers from your company’s knowledge base during customer calls. Create custom experiences to help with everyday repeatable tasks using Microsoft 365 Copilot. Start here.
Apply Copilot to specific areas.
Get free role-based guidance to use AI effectively for Customer Service, Finance, HR, and IT. Transform specific areas of your business using Microsoft 365 Copilot.
Watch the full video here:
QUICK LINKS:
00:00 — Microsoft 365 Copilot Small Business Guide
00:53 — Save time
02:14 — Privacy & safety
05:03 — How Microsoft 365 Copilot can assist you
06:24 — Work smarter, improve skill sets
08:13 — Create custom experiences
08:48 — Enable Copilot and onboard users
10:28 — How to apply Copilot to specific areas in your company
12:18 — Guidance & resources
14:07 — Wrap up
Link References
Watch our whole series at https://aka.ms/CopilotSMBMechanics
Check out our show on preparing for Copilot at https://aka.ms/SMBOversharingMechanics
See how to create custom experiences at https://aka.ms/Wave2Mechanics
Use role-based scenario guidance at https://aka.ms/AIforAll
Get a Success Kit at https://aka.ms/CopilotSMBSuccesskit
Sign up for or watch Quickstart Training at https://aka.ms/QuickStartCopilot
Unfamiliar with Microsoft Mechanics?
As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft.
Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries
Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog
Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast
Keep getting this insider knowledge, join us on social:
Follow us on Twitter: https://twitter.com/MSFTMechanics
Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/
Enjoy us on Instagram: https://www.instagram.com/msftmechanics/
Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanics
Video Transcript:
– Generative AI is leveling the playing field, removing previous productivity barriers, which is really good news, especially if you run or work for a smaller company. And today, we’re going to look at how wave two of Microsoft 365 Copilot can specifically help your small or medium-sized business by enabling a secure application of generative AI with your work data to rapidly author presentations and content, reducing digital debt to focus on and follow up on what’s important to you as you engage with your customers and making it easier than ever to automate everyday tasks and processes. In fact, for IT, we’re also going to show you how simple it is to light up Microsoft 365 Copilot in your tenant and share tips and resources for onboarding your organization. I’m joined, once again, by engineer Mary Pasch from the Copilot Platform team. Welcome back.
– Yeah, thank you for having me back.
– So last time you were on, we actually introduced wave two of Microsoft 365 Copilot. So how has the Microsoft 365 Copilot experience been crafted with small businesses in mind?
– So top of the list here, and this is a universal theme, is how we can help you save time, whether you’re running the business or an employee. We know that many of you often wear many hats and there’s more work than time. And Microsoft 365 Copilot is there to assist you as you work. It’s part of your favorite apps, such as Microsoft Teams, as well as Outlook, Word, PowerPoint, Excel, and more. And it’s integrated in the browser and across apps with Business Chat. It works directly with your work data and can help you to focus on what’s important, boosting how much you can get done. The experience supports your core business functions, whether that’s attracting customers and assisting with marketing efforts, or retaining them through more timely communications while you’re on the go by suggesting responses and generating a solid draft that you can iterate on further. And we’ve also made it easier than ever to customize the data you use with Copilot and quickly automate tasks using Copilot Studio, where, with zero code, you can connect Microsoft 365 Copilot to data, for example, sitting in your support systems. And this can be almost any system that you might be using. Or you can automate repetitive tasks. For example, documenting day-to-day customer interactions.
– Right, and because Microsoft 365 Copilot uniquely works with your data, the experience is, by default, tailored to your specific needs.
– It is, and because it’s your work data, it remains private and safe with enterprise-grade security, along with other capabilities like identifying and blocking harmful content.
– And we should really unpack this a bit because, I know one of the core concerns of small businesses is really who gets to use generative AI inside of their organization, whether that’s linked to perceived costs or maybe the fear of leaking company data.
– And it’s totally normal for you to start with just a small group of select managers in your company, which is important to get them on board, except the majority of the rest of your company is probably using AI tools right now, even if they don’t have access to premium AI services like Microsoft 365 Copilot. And the risk is they may end up using less safe, free alternatives and potentially pasting private work data into unprotected prompts just to be able to use GenAI as they work.
– Of course, all this can lead to data loss and those free services, they might even train their models based on your data.
– Right, which is why I say if you’re evaluating Microsoft 365 Copilot today and you’re starting with just a few users, it’s a good idea to at least have the rest of your company sign in with their work account to use the free Microsoft Copilot experience, which doesn’t integrate automatically with your work content. But even if you cut and paste work data into a prompt to generate content and responses, your prompts, with your data and the response, are all private. They remain separate to our models and are not used for training. And all the interactions are auditable in Microsoft Purview, which, if you haven’t used it before, is available with Business, Standard, and Premium. Then, as you make Microsoft 365 Copilot available to more people, it connects to your work data, but importantly, it only has access to the data that you have access to. As users reference files with data sensitivity labels, the security controls you have in place are respected and your experience is personalized based on your level of access to information. And with these permissions, you can, for example, reference Word documents to build your own personalized PowerPoint presentation, complete with complementing imagery, using Microsoft 365 Copilot, in just a few seconds. And it even authors the notes with references so that you can check the source.
– And what’s really important here is ensuring that you have the right permission set up for things like information access, especially for data that’s stored in SharePoint for different people, different team functions or different groups because when you do, Microsoft 365 Copilot will, as we mentioned, respect those controls that you have in place. In fact, I checked out the recent show that we did on preparing for Copilot at aka.ms/SMBOversharingMechanics. And this is something that you’ll want to do to govern information discovery in your organization regardless of whether you deploy Copilot or not.
– And that peace of mind really opens up the breadth of what Microsoft 365 Copilot can offer. And there are lots of ways it can assist you. This is a first look of how Copilot can help you triage your inbox in minutes, helping you prioritize what’s there. It analyzes all of your emails using both the content of your messages and the context of your job, like who your manager is and who’s on your team, to highlight what’s most important. You can then sort by priority based on Copilot’s analysis. So if we look at this email from a new customer, Tailwind Traders, when selected, Copilot shares why it thinks it’s significant and highlights what action you need to take. This is a key customer for the next few months, so you teach Copilot that all emails mentioning them are a top priority. And beyond email, Copilot and Teams helps you to quickly generate meeting summaries, can suggest action items, summarize your various chat conversations, and even provide answers to specific questions. BizChat can then go across communication modalities so that you can prioritize your time and stay connected. For example, as you work with customers and stakeholders, it makes it easy to find the right file or information in less time by letting Microsoft 365 Copilot search across all your related files and recent communication across apps.
– And what I like here is that from a business perspective, it’s like you’re giving everyone their own personal assistant to augment how much they can do, which is a net positive, then, for the top line.
– And this isn’t about replacing people in the workforce, which, some people might fear. This is all about removing burden and helping you work smarter and also learn and improve your skillset. For example, if you’ve never done a request for a proposal, or RFP, before, you can ask Microsoft 365 Copilot and point it to relevant information sources like I’m doing here using the forward slash in Word to reference files. And because our models are trained on the most common proposal types and document formats, Copilot will generate relevant outputs based on the work information you pointed to to create a tailored RFP. So now you aren’t stuck with a blank page, you get a great starting point. And because source material is referenced, it’s easier to check for accuracy. I’ll give you another example. Maybe you’ve been asked to summarize the biggest sales opportunities based on recent lead generation efforts, but you aren’t that well-versed in Excel. Well, using natural language. You can ask Copilot to summarize what those opportunities are, and you can see it surfaces up the top insights from the data and you can then go further by asking it to visualize the opportunity by customer type and it presents it in a chart. And as it’s doing all this, it also provides an explanation of how it’s going about the task so that you can reproduce the same steps yourself if you ever want to do this again in the future. And one more thing I’ll show you, beyond text, you can also quickly create visual content, which is good if you’re someone with great ideas but not necessarily a creative talent, or maybe you just don’t have the time. Microsoft 365 Copilot in work mode creates custom-generated images, which means you can quickly generate, for example, suitable images for your social media campaigns or website.
– And these examples here provide a really good taste in terms of what you can do to use Microsoft 365 Copilot personally for business functions like maybe sales, or business analysis, and also marketing,
– Right, and for the different teams across your company, this is where we make it easier to create custom experiences that can help with everyday, repeatable tasks. For example, for your technical support staff on calls with customers, you can create a Copilot agent that’s able to quickly find answers to customer questions on the fly from your company’s knowledge base. This is as easy as using Copilot and SharePoint and pointing it to the files you want Copilot to reference in responses.
– And on our last show, by the way, you know, we saw how you can actually create these, which, you can check out at aka.ms/Wave2Mechanics. Why don’t we switch gears though and really look at enabling Copilot for your company because it’s not that complicated. It’s as simple as assigning Microsoft 365 Copilot licenses to your managed users in the Microsoft 365 Admin Center. And you’ll see here on the left navigation pane, you’ll just need to select Users, then the Active users, and you’ll just choose the ones that you want to assign license to from that list. Now, you’ll click on, again, Manage product licenses in the User details pane, then Assign more. And under Licenses, check the box next to Microsoft 365 Copilot to assign the license and hit Save changes. And that’s it. Then Microsoft 365 Copilot capabilities are just going to light up across their Microsoft 365 desktop and web experiences, and they’ll get access to powerful business chat experiences as well for Microsoft 365 Copilot. Then, to extend Copilot experiences to mobile devices, you can also use your preferred device management tools like, for example, Microsoft Intune, as you can see here, to install the Microsoft 365 app with integrated Copilot capabilities and others on managed phones. That said, as with any new technology, there’s always some onboarding necessary for things like Copilot.
– And this is where, as a best practice, it’s a good idea to look across the different disciplines in your company, whether that’s your finance and marketing teams, your sales people, customer service staff, or recruitment with human resources. It’s a good idea to look at those business functions where introducing Microsoft 365 Copilot can provide the most help during your initial rollout. This way, there’s also more peer-to-peer learning and shared best practices, which can help before you scale Copilot out to the rest of your company.
– And by the way, if you’re looking for ways and ideas to apply Microsoft 365 Copilot to specific areas in your company, a really great tool to use is role-based scenario guidance to start that conversation with users in these different areas about their pain points, their opportunities, and also ideas, which you can get to at aka.ms/AIforAll. You can see all the different company disciplines here, everything from Customer Service, Finance, Human Resources, and others. I’m going to scroll back up here and choose Using Copilot in IT because that’s how I roll. But here, I can see all the different functional area KPIs, everything from IT budget variance to Average support ticket resolution. And when I click into the top one, it tells me more about that KPI and where Copilot can help, like drafting and analyzing surveys to find out what people like or could live without maybe to save costs, and other practical applications. Now, what I really like, though, are the functional scenarios here on the left, and I use Generate IT prompts a lot. And Copilot is great for researching technical topics, creating how-to documentation, and even authoring scripts to automate tasks. In fact, I’m going to scroll up here. I’m going to copy this sample prompt to research a topic, in this case, Power Automate. Now I’m going to head over to Copilot and I’ll paste it in. Now I’ll just replace this tool, service text variable here with the words Power Automate. There we go. And hit Enter. And Copilot drafts this nice comprehensive response with a high level description of Power Automate, its options, steps to plan my implementation, recommendations for creating flows, which is what you do with Power Automate, starting with templates. And below that, there’s some high-level best practices for long-term viability. At the very bottom, I can see that everything was grounded using Microsoft Learn articles for Power Automate, so I know that I can trust the output. That said, though, there’s also more general knowledge that you’ll want to share with everyone in your company when you onboard them as well.
– Yes, and this is an area where we have a lot of best practice guidance. We’ve created an end-to-end guide with resources you need to deploy Microsoft 365 Copilot with a Success Kit, which you can find at aka.ms/CopilotSMBSuccesskit. This is a downloadable ZIP file with a lot of helpful files and templates to get you started. Here you can see that it has a complete checklist, highlighting all the steps for implementing Copilot. There’s a detailed implementation guide in PowerPoint with all the steps we covered today, even a How it Works explainer video from Microsoft Mechanics. And to save you time, the user enablement toolkit has pre-written an email across all of the roles we saw earlier. In fact, I’ll open the Sales folder and you’ll see seven email templates for an introduction and others for what you can do in each app. If I open the first one, you’ll see that you only need to add your company logo header to personalize it, along with the recipient, team name, and the signature. And that’s it. Additionally, you can give users training on prompt authoring because the more descriptive you are, the better the responses will be. So make sure that you provide the intended outcome, additional context, and reference specific information sources where needed, like when we built the request for proposal earlier. The role-based email templates for each app also highlight a few repeatable prompts to try, including where to reference people, topics and files for the best responses. And if you have Microsoft 365 Copilot running, there’s even an interactive online Quickstart Training available in multiple languages that you and users can sign up for, watch on demand at aka.ms/QuickStartCopilot.
– And these are all resources that are available right now for free.
– Yes, they are. And we keep updating them, thanks to your feedback.
– Thanks so much for joining us today, Mary. These were just a few highlights for how Microsoft 365 Copilot can help. But of course, the best way to know for sure is to try it out for yourself. And you can see our complete Microsoft 365 Copilot series for small and medium-sized businesses at aka.ms/CopilotSMBMechanics. Be sure to subscribe to Mechanics for more of the latest tech updates and explanations, and thanks so much for watching.
Microsoft Tech Community – Latest Blogs –Read More
New Outlook won’t search for old e-mail
Hello,
I have someone that has been having issues with their outlook account. Originally the issue persisted in the Classic Outlook. They would search for an old e-mail sent from a specific user, and they would be prompted by an error message saying “it looks like there’s a problem with your network connection – let’s check on your computer instead”. Which feels to me that it struggled to search the 365 exchange server first which prompted the error message – however, the email was able to be found as it is stored locally.
I re-installed outlook. I rebuilt the search index. I added a DWORD key in the registry ‘DisableServerAssistedSearch’ within ‘HKEY_CURRENT_USERSoftwareMicrosoftOffice16.0OutlookSearchDisableServerAssistedSearch’ and set value to 1.
This prevented the error message from cropping up whenever the email was searched for.
However, now when the same search is attempted on the new version of the outlook – it doesn’t do anything other then display an error message simply saying “Your request can’t be completed right now”.
Is there a fix for this? It’s quite annoying for anyone wishing to use the new version of the outlook.
Hello, I have someone that has been having issues with their outlook account. Originally the issue persisted in the Classic Outlook. They would search for an old e-mail sent from a specific user, and they would be prompted by an error message saying “it looks like there’s a problem with your network connection – let’s check on your computer instead”. Which feels to me that it struggled to search the 365 exchange server first which prompted the error message – however, the email was able to be found as it is stored locally. I re-installed outlook. I rebuilt the search index. I added a DWORD key in the registry ‘DisableServerAssistedSearch’ within ‘HKEY_CURRENT_USERSoftwareMicrosoftOffice16.0OutlookSearchDisableServerAssistedSearch’ and set value to 1. This prevented the error message from cropping up whenever the email was searched for. However, now when the same search is attempted on the new version of the outlook – it doesn’t do anything other then display an error message simply saying “Your request can’t be completed right now”. Is there a fix for this? It’s quite annoying for anyone wishing to use the new version of the outlook. Read More
Bookings page freezes browser
Hello,
My Bookings page freezes and crashes browsers. It will open and display normally but you are entirely unable to click on anything. Réserver l’heure avec Côté-Massicotte, Simon
Here’s what I have tested thus far :
– Changing the length and type of meetings
– Changing the header image
– Unlinking any calendar, resetting connections
– Deleting any other Bookings calendar my account was associated with
Nothing has helped in any way whatsoever. The problem is not related with my institution as all of my colleagues’ account work properly, with similar numbers of meeting types.
Has anyone else had that issue? Any other elements I should test?
Thank you all for your time!
Hello,My Bookings page freezes and crashes browsers. It will open and display normally but you are entirely unable to click on anything. Réserver l’heure avec Côté-Massicotte, Simon Here’s what I have tested thus far :- Changing the length and type of meetings- Changing the header image- Unlinking any calendar, resetting connections- Deleting any other Bookings calendar my account was associated withNothing has helped in any way whatsoever. The problem is not related with my institution as all of my colleagues’ account work properly, with similar numbers of meeting types. Has anyone else had that issue? Any other elements I should test?Thank you all for your time! Read More
Apple business manager deployment – receiving pop-up bout apple account
Hello intune forum,
I recently setup apple business manager in our enviroment to work with Intune. I’ve created the enrollment profile, setup the VPP token, etc. But now, a few of our users, myself included is getting a pop-up on our phones stating : “this apple account cannot make purchases”. I made sure only the VPP apps are being pushed to the company phones and not the apps from the store. Anyone else have this issue?
Hello intune forum,I recently setup apple business manager in our enviroment to work with Intune. I’ve created the enrollment profile, setup the VPP token, etc. But now, a few of our users, myself included is getting a pop-up on our phones stating : “this apple account cannot make purchases”. I made sure only the VPP apps are being pushed to the company phones and not the apps from the store. Anyone else have this issue? Read More
Enable MFA for external idetnities in MS Entra
Hi all,
I am planning to enable MFA for guest accounts and external identities using Conditional Access in MS Entra. I am however wondering how I can select what Authentication methods can they use – or what would be the default behaviour.
Currently, I am still using legacy MFA for internal users. I will migrate MFA to MS Entra later this year however, not sure how this is working when enabling MFA for external users.
As I do use legacy MFA, my setting in ” Authentication methods > Policies” have MS Authenticator set to NO.
Now, do I need to switch MS Authenticator to YES if I want guests to use that app? And if I enable it, how do I assign it to External identities only? I do not see that kind of option there at all… I can assign it to all, for example, but I am not yet ready to migrate internal users as well…
Would be happy to get some clarification on this.
Thank you
Hi all, I am planning to enable MFA for guest accounts and external identities using Conditional Access in MS Entra. I am however wondering how I can select what Authentication methods can they use – or what would be the default behaviour. Currently, I am still using legacy MFA for internal users. I will migrate MFA to MS Entra later this year however, not sure how this is working when enabling MFA for external users.As I do use legacy MFA, my setting in ” Authentication methods > Policies” have MS Authenticator set to NO. Now, do I need to switch MS Authenticator to YES if I want guests to use that app? And if I enable it, how do I assign it to External identities only? I do not see that kind of option there at all… I can assign it to all, for example, but I am not yet ready to migrate internal users as well… Would be happy to get some clarification on this. Thank you Read More
MS Project mime type is Application/vnd.ms-office
I have Plan 3 MS Project install on my machine and when I create new files in MS Project the mime type is always Application/vnd.ms-office why is the MS project mime type is not Application/vnd.ms-project
I have check the reg edit under ComputerHKEY_CLASSES_ROOTMIMEDatabaseContent Type
i can see Application/vnd.ms-project and the extension is mpp
I have Plan 3 MS Project install on my machine and when I create new files in MS Project the mime type is always Application/vnd.ms-office why is the MS project mime type is not Application/vnd.ms-projectI have check the reg edit under ComputerHKEY_CLASSES_ROOTMIMEDatabaseContent Typei can see Application/vnd.ms-project and the extension is mpp Read More
how do I get the url for a managed metadata set used in a document library
how do I get the url for a managed metadata set used in a document library
how do I get the url for a managed metadata set used in a document library Read More
Declarative Agent for M365 Copilot
This project showcases the use of a Declarative Agent for Microsoft 365 Copilot, designed to create personalized experiences through specific instructions, actions, and knowledge. Specializing in ServiceNow, this declarative agent leverages the following capabilities and actions:
SharePoint Integration: Enables users to retrieve information from files, which can be useful for providing context to ServiceNow tickets and for creating new tickets.
Graph Connectors: Utilizes the Knowledge Base and Services Catalog connectors from ServiceNow to enhance functionality.
Plugins: Incorporates a ServiceNow Scripted REST API that allows users to list their incidents and create new ones.
Note: This sample code is intended for illustrative purposes only and should not be deployed in a production environment without thorough review. It demonstrates how to build a simple Declarative Copilot using Visual Studio Code and the Teams Toolkit. Please note, I do not have the rights or permission from ServiceNow and Adventure Time (Ice King logo).
Prompt Samples
1. ServiceNow Knowledge Graph Connector:
List the articles regarding Outlook 2010. Place the results in a table with the article title in one column and a brief summary in the other
ServiceNow Service Catalog Graph Connector
How do I request a new laptop?
SharePoint Capability
List the items from the snow spreadsheet and format as a table. Also, please add an integer column as the first column, listing the item numbers.
Plugin: List my incidents
List my incidents
Plugin: Create a new incidents
The following prompt uses the list of incidents returned from the previously executed snow spreadsheet file. I’m asking Copilot to create a new incident based on the sixth item in that list.
Create a new incident for the item 6
Build a basic declarative agent with API plugin
Declarative agents are customized versions of Microsoft 365 Copilot that help you to create personalized experiences by declaring specific instructions, actions, and knowledge.
With the declarative agent, you can build a custom version of Copilot that can be used for specific scenarios, such as for specialized knowledge, implementing specific processes, or simply to save time by reusing a set of AI prompts. For example, a grocery shopping Copilot declarative agent can be used to create a grocery list based on a meal plan that you send to Copilot.
You can extend declarative agents using plugins to retrieve data and execute tasks on external systems. A declarative agent can utilize multiple plugins at the same time.
Get started
Prerequisites
To run this app template in your local dev machine, you will need:
Node.js, supported versions: 16, 18
A Microsoft 365 account for development.
Teams Toolkit Visual Studio Code Extension version 5.0.0 and higher or Teams Toolkit CLI
Microsoft 365 Copilot license
ServiceNow Developer Instance
First, select the Teams Toolkit icon on the left in the VS Code toolbar.
In the Account section, sign in with your Microsoft 365 account if you haven’t already.
Create Teams app by clicking Provision in “Lifecycle” section.
Select Preview in Copilot (Edge) or Preview in Copilot (Chrome) from the launch configuration dropdown.
Select your declarative agent from the Copilot app.
Send a prompt.
What’s included in the project
Folder
Contents
.vscode
VSCode files for debugging
appPackage
Templates for the Teams application manifest, the plugin manifest and the API specification
env
Environment files
The following files can be customized and demonstrate an example implementation to get you started.
File
Contents
appPackage/declarativeCopilot.json
Define the behaviour and configurations of the declarative agent.
appPackage/manifest.json
Teams application manifest that defines metadata for your declarative agent.
appPackage/instructions.txt
Define how the agent should communicate. An agent might be concise, detailed, interactive, or suggestive. Also include any restrictions that should be applied.
appPackage/ai-plugin.json
It contains everything Copilot needs to know about the API that isn’t in the Swagger file. It breaks the API down into “functions” that share a common URL path and result set.
appPackage/apiSpecificationFile/openapi.json
It is the Swagger file for the API.
The following are Teams Toolkit specific project files. You can visit a complete guide on Github to understand how Teams Toolkit works.
File
Contents
teamsapp.yml
This is the main Teams Toolkit project file. The project file defines two primary things: Properties and configuration Stage definitions.
Addition information and references
Declarative agents for Microsoft 365
Extend Microsoft 365 Copilot
Message extensions for Microsoft 365 Copilot
Microsoft Graph Connectors for Microsoft 365 Copilot
Microsoft 365 Copilot extensibility samples
ServiceNow Plugin
This project consumes two ServiceNow Scripted REST APIs to integrate with ServiceNow’s platform, enabling seamless data exchange and automation of specific workflows.
ServiceNow Scripted REST APIs
Scripted REST APIs in ServiceNow allow developers to create custom web service APIs that can interact with ServiceNow data and services. These APIs can be configured to support various HTTP methods (GET, POST, PUT, DELETE) and can be used to perform operations like querying data, creating records, updating records, and deleting records.
Creating Scripted REST APIs
This section includes the code for the Scripted REST API designed to list the incidents associated with a user.
Navigate to System Web Services: Go to System Web Services > Scripted Web Services > Scripted REST APIs.
Create a New API: Click on New and provide a name and namespace for your API.
Define Resources: Create resources by specifying the HTTP method, relative path, and any path parameters.
Write Scripts: In the scripting window, write the necessary scripts to handle the request and response objects.
Test the API: Use the REST API Explorer to test your API and ensure it works as expected.
List my Incidents REST API
The API is built on ServiceNow’s platform, utilizing its robust scripting capabilities to fetch and return incident data.
This API supports the GET method and responds with a JSON object containing the relevant incident details.
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
var username = request.pathParams.username;
//var username = request.queryParams.username;
// Get the ServiceNow instance name
var instanceName = gs.getProperty(‘instance_name’, ‘default_instance’);
// Replace ‘+’ with ‘ ‘ (space)
username = username.replace(/+/g, ‘ ‘);
// Query the Incident table for incidents associated with the email
var gr = new GlideRecord(‘incident’);
gr.addQuery(‘caller_id.name’, username);
gr.query();
// Prepare the result
var result = [];
while (gr.next()) {
result.push({
number: gr.getValue(‘number’),
short_description: gr.getValue(‘short_description’),
state: gr.getValue(‘state’)
});
}
// Check if incidents were found
if (result.length === 0) {
response.setStatus(404);
response.setBody({error: ‘No incidents found for the user name’});
} else {
// Set the result as the response body
response.setStatus(200);
response.setBody(result);
}
})(request, response);
Create a new incident
This section includes the code for the Scripted REST API designed to create new incidents on ServiceNow.
This API leverages ServiceNow’s capabilities to accept incident details through a POST request and create a corresponding incident record in the ServiceNow system. The request body should contain the necessary incident data, and upon successful creation, the API responds with the details of the newly created incident.
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
// Parse the request body to get incident details
var requestBody = request.body.data;
// Check required fields in the request body
if (!requestBody || !requestBody.short_description || !requestBody.username) {
response.setStatus(400); // Bad Request
response.setBody({error: “Missing required fields: short_description or username”});
return;
}
// Lookup caller_id based on the username
var userGr = new GlideRecord(‘sys_user’);
userGr.addQuery(‘name’, requestBody.username);
userGr.query();
if (!userGr.next()) {
response.setStatus(404); // Not Found
response.setBody({error: “User not found with username: “ + requestBody.username});
return;
}
var callerId = userGr.sys_id;
// Create a new incident record in ServiceNow
var gr = new GlideRecord(‘incident’);
gr.initialize();
gr.short_description = requestBody.short_description;
gr.description = requestBody.description;
gr.caller_id = callerId; // Assign the found caller’s sys_id
gr.category = requestBody.category || ‘inquiry’; // Optional: Default category
gr.impact = requestBody.impact || 3; // Optional: Default to low impact
gr.urgency = requestBody.urgency || 3; // Optional: Default to low urgency
var incidentNumber;
try {
// Insert the incident record
var sysId = gr.insert();
incidentNumber = gr.number;
// Set success response
response.setStatus(201); // Created
response.setBody({
result: ‘Incident created successfully’,
sys_id: sysId,
number: incidentNumber
});
} catch (e) {
// Handle error during record insertion
gs.error(“Error creating incident: “ + e.message);
response.setStatus(500); // Internal Server Error
response.setBody({error: “Error creating incident: “ + e.message});
}
})(request, response);
There are two versions.
The official one, shared at Microsoft repo, uses a REST API developed by Cristiano to connect to ServiceNow:
copilot-pro-dev-samples/samples/da-SnowWizard at main · pnp/copilot-pro-dev-samples · GitHub
My version, uses the Scripted REST API from ServiceNow and uses two ServiceNow Graph Connectors:
GitHub – luishdemetrio/SnowKing
THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
Microsoft Tech Community – Latest Blogs –Read More
SQL Konferenz: A Transformative Gathering of Data Experts
The SQL Konferenz 2024, held from September 30 to October 2 in Hanau, Germany, was more than just another tech event—it was a dynamic celebration of data-driven innovation, community engagement, and the start of a new chapter for Datamonster.io community. Organized by the German Data Platform Community, this year’s conference brought together 400 data professionals from around the world, marking the 9th edition of the SQL Konferenz and the 20th anniversary of the non-profit organization formerly known as PASS Deutschland.
The three-day event provided attendees with a perfect blend of technical deep dives and strategic overviews, reflecting the community’s growing appetite for diverse learning experiences. SQL Konferenz 2024 featured an impressive roster of 33 Microsoft MVPs and 14 Microsoft experts, sharing cutting-edge insights on topics like Microsoft Fabric, Power BI, and advanced database management. This year’s keynote was especially symbolic, as the newly rebranded Datamonster.io, along with its mascot “Damon,” took center stage, signifying the community’s forward-thinking evolution.
One of the most important takeaways from the event was the feedback received from the attendees, emphasizing the need for a balance between technical depth and real-world use cases. “The feedback was overwhelming,” noted MVP/RD and Vice President Constantin Klein, highlighting the excitement generated by key contributions from the Microsoft Product Group and Germany-based partners. The conference also sparked crucial discussions on increasing diversity within the data platform community, a topic that the organizers are keen to advance for future events. Constantin was not the unique organizer, he was helped by the following data experts:
Oliver Engels, Data Platform MVP
Frank Geisler (Data Platform MVP)
Benjamin Kettner (former Data Platform MVP)
Klaus Höltgen
A big thank you to all of them!
In a testament to the power of in-person connections, many attendees remarked on the value of serendipitous conversations during breaks, which often led to profound exchanges of ideas. MVP Thomas Martens, who presented a session on Microsoft Fabric, echoed this sentiment: “These ‘accidental’ opportunities to discuss new ideas are as valuable as the formal sessions.”
The SQL Konferenz 2024 was not just a look back at two decades of success but a bold vision of the future. The announcement of the next SQL Konferenz in February 2025 and the ongoing support of 16 regional Datamonster user groups ensure that this community will continue to thrive as a hub of innovation, education, and collaboration.
Microsoft Tech Community – Latest Blogs –Read More
Is it possible to hide the Presence Indicator on a Modern SharePoint List View?
Hi Everyone!
I haven’t been able to figure out how to hide the presence indicator on records in a modern SharePoint list when users have them open. I need to be able to just… show the list in a super simple format without the presence indicator. See attached image for a sample of what I’m talking about – the gray box around that one record with the user’s initials needs to go. I haven’t been able to find a JSON property for it.
Any ideas?
Thanks for your consideration!
Hi Everyone! I haven’t been able to figure out how to hide the presence indicator on records in a modern SharePoint list when users have them open. I need to be able to just… show the list in a super simple format without the presence indicator. See attached image for a sample of what I’m talking about – the gray box around that one record with the user’s initials needs to go. I haven’t been able to find a JSON property for it. Any ideas? Thanks for your consideration! Read More
“My Tasks” not showing subtasks
Our team just signed up for a MS Planner Premium license (Project 1), and we noticed that in the “My Tasks” view, there’s no way to see subtasks from our premium plans – it only shows tasks in basic plans.
Does anyone know how to have a view of all tasks and subtasks from all plans in your Planner account? Being able to get a general overview of all of your work is basic project management and I hope it’s something that’s possible in MS Planner Premium.
Our team just signed up for a MS Planner Premium license (Project 1), and we noticed that in the “My Tasks” view, there’s no way to see subtasks from our premium plans – it only shows tasks in basic plans. Does anyone know how to have a view of all tasks and subtasks from all plans in your Planner account? Being able to get a general overview of all of your work is basic project management and I hope it’s something that’s possible in MS Planner Premium. Read More