Browse Category

General

Microsoft Ignite Recap Webinar Series – brought to you by Vlad & Drew

Are you ready for the next Microsoft Ignite? We are only a few weeks away from the annual gathering of Microsoft and their closest friends in sunny Orlando. Ignite is a large conference and has hundreds of announcements across different technologies like Azure, Windows, Data & AI, and Microsoft 365.

It isn’t possible take in all the news and announcements from this wild week so Vlad Catrinescu and myself will be putting together a series of webinars in which we will review what we learned while being there and helping you digest what may be most important to you and your business. We will also have some special guests for each of the webinars so make sure you stay tuned.

For everyone that attends a webinar, we will be having some giveaways with a collection of swag and goodies from Microsoft Ignite, including some lucky attendees who will get 12-month Xbox Live Gold Membership Cards, books, and more!

Vlad Catrinescu & Drew Madelung Microsoft Ignite Recap Webinar Series

Register for each webinar below

Webinar 1: Hot of the press from Microsoft Ignite with Vlad and Drew

Time: Nov 7, 2019 02:00 PM (EST)
Description: Join Microsoft MVPs Vlad Catrinescu and Drew Madelung directly on the floor of Microsoft Ignite and be one of the first people to hear the latest news that Microsoft announces . From the Year of Yammer, to intelligent intranets, and enhancements in compliance & security inside Microsoft 365, we will digest the important announcements for you, tell you why they matter, and point you to additional resources that you can take back to the rest of the organization!
Registration: https://zoom.us/webinar/register/WN_E89uT30mSHGnxhSXzsjHbw


Webinar 2: Microsoft Ignite Recap: SharePoint & OneDrive for Business with Vlad & Drew

Special Guest: Mark Kashman
Time: Nov 12, 2019 01:00 PM (EST)
Description: Join Microsoft MVPs Vlad Catrinescu and Drew Madelung and special guest Mark Kashman the week after Ignite for a recap of the most important SharePoint and OneDrive for Business news that was announced. With the dust and excitement from Ignite settled, and the most important features out and tested, Vlad and Drew will cover the biggest and most important news from Ignite!

Registration: https://zoom.us/webinar/register/WN_8EBMVb5eR7abqh4FIaOJAA

Special Guest!

Mark Kashman

Senior Product Manager @Microsoft

Mark is a senior product manager on the SharePoint & OneDrive team focused primarily on content collaboration in Microsoft 365. He has worked at MSFT since 2000. He started working with SharePoint building a digital asset management (DAM) solution built on top of SharePoint 2007 (IMM, the Interactive Media Manager) before moving to the SharePoint team. Mark also co-hosts The Intrazone podcast (aka.ms/TheIntrazone) – a show about the SharePoint intelligent intranet.


Webinar 3: Microsoft Ignite Recap: Microsoft Teams & Yammer with Vlad & Drew

Special Guest: Karuana Gatimu
Time: Nov 19, 2019 01:00 PM (EST)
Description: Join Microsoft MVPs Vlad Catrinescu and Drew Madelung the week after Ignite for a recap of the most important Microsoft Teams and Yammer news that were announced. With the dust and excitement from Ignite settled, and the most important features potentially out and tested, Vlad and Drew will cover the biggest and most important news from Ignite!
Registration: https://zoom.us/webinar/register/WN__Y9Q2gyMSda2dyFSYCZcfA

Special Guest!

Karuana Gatimu

Lead, Customer Advocacy Group @Microsoft

Lead of Customer Advocacy Group for Microsoft Teams Engineering. Passionate O365 business architect specializing in measurable outcomes, solutions and adoption. Author – Microsoft Service Adoption Specialist course; Steward of Office 365 Champions program. Exec Producer of https://aka.ms/CoffeeintheCloud on YoutTube. Learn more at https://aka.ms/MicrosoftAdoption


Webinar 4: Microsoft Ignite Recap: Microsoft 365 Security & Compliance with Vlad & Drew

Special Guest: Antonio Maio
Time: Nov 21, 2019 01:00 PM (EST)
Description: Join Microsoft MVPs Vlad Catrinescu and Drew Madelung after Ignite for a recap of the most important Security and Compliance news that was announced. With the dust and excitement from Ignite settled, and the most important features potentially out and tested, Vlad and Drew will cover the biggest and most important news from Ignite!
Registration: https://zoom.us/webinar/register/WN_9BdGl9OLQtay00Dxh4N_hA

Special Guest!

Antonio Maio

Associate Director & Senior Enterprise Architect @Protiviti

Antonio Maio is an information security architect with over 25 years of experience in cyber security practices and systems, product management, software development and leadership. Antonio is currently a Senior Manager and Senior SharePoint Architect with Protiviti. He has been awarded a Microsoft Most Valuable Professional award for 8 consecutive years, from 2012 to 2019, specializing in Microsoft SharePoint Server, Office 365 and Office Services. His background includes implementing cryptography and PKI systems, information security technologies, and both information governance and cyber security best practices. His experience with Microsoft SharePoint and Office 365 extends over the last 10 years. When he’s not helping enterprise, military or government organizations solve security challenges, you can catch him speaking at conferences or contributing to the community through this blog.


Please register for all the webinars you want to attend.

The webinars will be recorded, and the recording will be sent to all the registered attendees after the webinar has taken place!

PowerShell for SharePoint Site Designs & Site Scripts

SharePoint site designs and site scripts allow you to provision sites and apply your own configurations at that time. This solution allows you to drive consistency for sites being created in SharePoint Online. The management of these is currently all done by PowerShell. I have been working with these and building presentations on them and have put together a collection of PowerShell scripts that I found useful. This includes a lot of the base functionality for working with them but is absolutely not all inclusive.

This is not intended to be ran as 1 full script but use pieces of these together and run sections that you need at a point in time. A few things this script includes:

  • Creating site scripts and site designs
  • Add and remove site scripts from an existing site design
  • Setting site design view rights
  • Getting site scripts from a list
  • Viewing status and information about previous ran or running site designs

PowerShell scripts

Here is the link to the repository on Github for the site design and site script PowerShell file.

Please help update as well!

Key links

SharePoint site designs and site scripts overview from Microsoft docs customization/site-design-overview

Multiple provisioning blog posts from Beau Cameron

PnP Remote Provisioning

Amazing info from Laura Kokkarinen

Will you be at SharePoint Conference 2019? I will!

I am excited to share that I will be speaking and attending the next SharePoint Conference in Las Vegas during the full week of May 20th in 2019. This is a can’t miss event that will keep you up to speed with all of the great new things coming out in the collaboration and communication space at Microsoft in 2019. Last year we got the introduction into SharePoint spaces! You will want to be there in person to see what’s next.

You can register early to take advantage of some early swag (like an Xbox!) and even save more money using the code MADELUNG when you register!

Why you should try to go

  • Networking & networking & more networking. I love events of this scale because of the opportunities to meet new people and learn from others experiences. There is no better spot than after a great session at a lunch table or after sessions are done and you are out at a great dinner in Vegas! Strike up conversations and who knows what kind of nuggets of great info you might find.
  • It’s not just about SharePoint anymore. Yes the name is SharePoint Conference but this event is really about bringing together all of the Microsoft workloads around communication and collaboration and how they work together. This includes primary focuses outside of SharePoint and OneDrive like Teams, PowerBI, Yammer, Planner, and larger topics like Microsoft Search and Azure.
  • Interactions with Microsoft. What is that super specific question or issue or scenario that has been nagging you or your company? An event like this is a great time to connect directly with people on the product team about how things work and why they were done the way they were. These discussions can provide priceless value that you can take back with you that you can’t find anywhere else.
  • It’s in Vegas and Vegas is awesome.

My sessions

From start to finish: How to create your modern SharePoint site provisioning solution

Creating modern SharePoint sites only takes a second, but what if you want to customize or control that process? It can be a challenge to keep up with all the sites in an organization and can affect support and governance of a SharePoint environment. In this session, learn how to use Microsoft’s latest tools such as Site Designs, PnP Site Provisioning, PowerApps and Flow to create a full site provisioning system with custom templates, custom branding, and easy approval before creation!

This is a session I am doing with Vlad Catrinescu and will be a deeper dive into what we presented at Microsoft Ignite in 2018. Here is a video sneak preview of what to expect!

Kudos to Adam King for help with the video! (and the security guard)

Taking OneDrive for Business administration to the next level

OneDrive for Business is a key workload in Office 365 and is an integral part of your collaboration and content strategy. Whether you are looking to roll-out OneDrive for Business or are already are utilizing it, there are important things that you should know about for administration. Do you know what is possible for admins? Do you know if your content really is secure? Do you know who can and can’t share? You also can’t have a great OneDrive for Business experience without sync but there are things you need to know about deploying and managing sync across your enterprise. This session will go through real world experiences of managing OneDrive for Business and what you really need to know to be successful.


Can’t wait to see everyone at #SPC19!

Drew @ Ignite 2018

I can’t wait for Microsoft Ignite 2018 this year in Orlando. I was honored to be selected as featured speaker earlier this year for this event. The list of speakers and sessions this year is incredible and I can’t believe I am able to join them as a presenter again this year. If you aren’t able to attend, all sessions (including theaters!) will be live streamed. If there is one that you don’t want to miss make sure you make Jeff Teper’s collaboration keynote on Monday at 4:00 p.m.

This is an exciting time to be working in the Microsoft collaboration space. We have seen the explosion of Teams, the resurgence of SharePoint, the overwhelming adoption of the SharePoint Framework and so much more. I am sure the next set of announcements will not disappoint. 

My sessions

Session 1 – BRK3273 – From start to finish: How to create your modern SharePoint site provisioning solution

Tuesday, September 25 – 10:15 AM – 11:00 AM – OCCC W304 A-D

I am lucky to present this session with a good friend and great speaker Vlad Catrinescu.

Details: Creating modern SharePoint sites only takes a second but what if you want to customize or control that process? It can be a challenge to keep up with all the sites in an organization and can affecat support and governance of a SharePoint environment. In this session, learn how to use Microsoft’s latest tools such as Site Designs, Site Scripts, PnP Site Provisioning, PowerApps and Flow to create a full site provisioning system with custom templates, custom branding, and easy approval before creation!

Session 2 – THR2142 – What you need to know about managing OneDrive for Business

Wednesday, September 26 – 4:35 PM – 4:55 PM – Expo Theater #6

Details: OneDrive for Business is a key workload in Office 365 and should be an integral part of your collaboration strategy. OneDrive provides a cloud location to store, share, and sync your work files and then work with them from any device. OneDrive for Business management needs to be done to support the user and the administrator to ensure the content is always secure. What happens to OneDrive content when someone leaves? What devices have content synced to them? What limits are there and do the users know about them? Learn more about what management capabilities are available and which ones are needed within your enterprise.

Session 3 – Under the Hood Ignite special: Hub sites with Drew Madelung

Tuesday, September 25 – 2:00 PM – 2:45 PM – Immersion Zone Podcast 2

Details: Are you a fan of Under the Hood with Nick Brattoli, or do you want to learn how SharePoint hub sites are being implemented in the real world? If so, head over to the podcast center and listen to host Nick Brattoli and special guest Drew Madelung as they talk about their experiences. 

They discuss topics such as: 
• Changes organizations can make to their information architecture to take advantage of hub sites 
• Navigation schemas that are intuitive and scale well 
• Security and governance models 
• Tips and tricks to provision sites quickly 
• Challenges and workarounds 

Get Office 365 Groups with Teams via PowerShell and the Microsoft Graph

Office 365 Groups are the backbone of a lot applications in Microsoft. The core principal is that an Office 365 Group is the security model that supports a Team. A good start to learn more about this is from the Microsoft documentation about the two.

Here is a more detailed image about how a Team is a workload that is supported by Office 365 Groups as the identity layer. This means that not all groups have an associated Team but all Teams are supported by a group.

Getting Groups with associated Teams

I had a client ask me recently to get a list of what groups have a Microsoft Teams chat connected vs Office 365 groups that don’t have a team connected. I have done this in the past using the method here on the TechCommunity. I then saw in some updated documentation that the beta Graph API includes a filterable property called resourceProvisioningOptions. The documentation can be found here. Filtering by this property is currently on the beta API so it is not recommended to utilize this in a production solution. 

Using the /groups Graph API we can retrieve all groups in the tenant that have a team. Any group that has a team has a resourceProvisioningOptions property that contains “Team”. 

  • Currently teams that were deleted may be included
  • This property can be changed but don’t do it
  • This also is populated for a group that has a Team added to it after the fact

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Group.Read.All, Group.ReadWrite.All
Delegated (personal Microsoft account) Not supported.
Application Group.Read.All, Group.ReadWrite.All

Here is the script and I will break it down below

Connecting to the Graph via PowerShell

To connect to the Graph via PowerShell I am using the PnP PowerShell module. SharePoint Patterns and Practices (PnP) contains a library of PowerShell commands (PnP PowerShell) that allows you to perform complex provisioning and artifact management actions towards SharePoint. The commands use CSOM and can work against both SharePoint Online as SharePoint On-Premises. Details about how to work with this module and its cmdlets can be found here.

The cmdlet that is used to connect is Connect-PnPOnline. This cmdlet can be used to connect to multiple entry points. When connecting to the Graph you can connect through Azure AD and declare permissions scopes with the -Scopes parameter or connect with app level permissions using the -AppId, -AppSecret, and -AADDomain parameters.

I have setup the script to handle either depending on what you enter at the top for the variables. Details for different types of permissions can be found here.

Calling the Graph via PowerShell

To call the Graph I am using the Invoke-RestMethod cmdlet to make the REST request. To handle the Graph call we need to pass along a bearer token. I am getting the token through the PnP cmdlet Get-PnPAccessToken. The data will then be returned as an object. You could convert the data into JSON to utilize it if necessary.

Along with the token we need to pass along the Graph Uri call. I have setup 2 different options to get the data. Swap the comment (#) tags for either $url line. 

Here is a breakdown of each option:

  • Get all groups which have Teams
    • This will return the filtered list of Groups
      • /v1.0/groups?$filter=groupTypes/any(c:c eq ‘Unified’)&`$select=displayname,resourceProvisioningOptions
  • Get all groups
    • This will return all groups and then go through all returned groups and perform an action for ones that have a connected Team
      • /beta/groups?$filter=resourceProvisioningOptions/Any(x:x eq ‘Team’)
      • Currently this only does a Write-Host but any business logic could be added here.

Make sure you copy and paste from the code block for proper formatting.

The best way to test Graph calls before working with them is through the Graph Explorer. I highly recommend this one!

Securing the app permissions

One idea that I did not put in here but would be a good idea if you wanted to set up a recurring solution around this would be to protect the app data through the Azure Key Vault.  Here are details on how this can be completed – 

Using Azure Key Vault with PowerShell – Part 1

More information about setting up an Azure AD app can be found here:

Interact with Graph and make O365 Groups with AzureFunctions PowerShell