North American Collaboration Summit Session

North American Collaboration Summit

This past week I had the honor of presenting a session on Azure DevOPS for SharePoint Admins at the North American Collaboration Summit in Branson Missouri alongside some of the best and smartest SharePoint people there are. Huge thanks to my friend Mark Rackley (@MRackley) for putting on such a great show. In my session, I demoed how enterprises can now manage their entire SharePoint configurations as code (Office 365 an on-premises) using SharePointDSC and Office365DSC, and how they can automate the deployment of these changes using Azure DevOPS pipelines. In our main demo, we wanted to make sure that .JSON files we’re not being blocked in our SharePoint environment to allow SharePoint Framework webparts to run. In order to do this, we simply modified our main configuration script, which was located in our Azure DevOPS repository:

SPWebAppBlockedFileTypes BlockedFiles
                WebAppUrl              = "http://collabsummit." + $ConfigurationData.Environment.Domain
                EnsureBlocked          = @("ashx", "exe")
                EnsureAllowed          = @("json")
                PsDscRunAsCredential   = $CredsSPSetup

By simply checking in this code change back into Azure DevOPS, an automatic build was triggered inside of Azure DevOPS pipelines, and upon completing this build then triggered a Release Pipeline which simply updated the latest code changes to an Azure Automation Account. Our servers then automatically picked up this new configuration and applied it.

To add to the magic, the PowerShell script that gets executed as part of our release process included logic to automatically connect our servers to configurations that matched their names. This means that if we ever decided to add an additional server to our farm, the ONLY thing we would have to do would be to modify our associated Configuration Data file (we have one for dev, one for QA, and one for Prod), to list the additional server ET VOILA. That server would automatically get added to the farm and configured. All the material used in my session is available on GitHub at:

If you have any questions regarding the content of the session, please contacting me on Twitter at @NikCharlebois.

Leave a Reply

Your email address will not be published. Required fields are marked *