Azure Greg – YouTube Channel

Today I am announcing my official Azure Greg YouTube channel – this is where I will be recording demo videos and showing tips and tricks I pick up as I go – feel free to subscribe and get notified of the content as I release it.

I have a few videos up already which include the following: –

  • Rehearse your talk with PowerPoint Coach – Here I show off how to use a feature in PowerPoint called Research with coach, this helps you when rehearsing your talks. The AI feature listens to you as you present and gives you feedback during and a report at the end with tips on how to improve.
  • PowerToys – how to install and start using it for Windows.
  • Learn about Hugo – How to get up to speed once Hugo is installed, you can use this to create your first ever blog using Hugo.
  • How to install and customize the Windows Terminal – In this video, I take you through how to install and then customize the Windows Terminal.
  • Azure Resource Graph – In this video, I demo Azure Resource Graph and talk about an example JSON file you can use for any subscription which will give you an excellent inventory of your Azure resources.

If there is something you would really like to have me cover in a short video please do let me know. I will conduct twitter polls from time to time to ask what people would like to see.

Thank you to the current subscribers – there is a lot more content on the way.

Introducing Skylines Summer Sessions

Today we kick off what we have called Skylines Summer Sessions.

Over the Summer months, Skylines Academy, myself and Richard Hooper will be interviewing guests from around the world on Azure related subjects, we get to ask them some fun questions and guests will also be giving us a demo on their subject which will be available on YouTube Live for you to ask questions 🙂

You can catch our first episode with Thomas Maurer who is talking to us and giving a demo on Azure Arc today!

Join us at 6pm GMT +1

Tune in, ask your questions, and learn about Azure every Tuesday throughout Summer. You can find out more over at the site.


If you haven’t heard of or used PowerToys then this blog post is for you.

Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. Inspired by the Windows 95 era PowerToys project, this reboot provides power users with ways to squeeze more efficiency out of the Windows 10 shell and customize it for individual workflows.

To get up to speed with PowerToys then check out my YouTube video below.

You can find the source code for PowerToys here: –

I hope you find PowerToys useful.

Azure Tips n Tricks

I have had a fair bit of time recently and spent most of my time learning the content I wanted to learn, nice to have that time right?

I have been going through the Azure Tips n Tricks website and videos created by Michael Crump, you can follow Michael on Twitter and please also check out his twitch stream which is a lot of fun.

There are currently around 260+ blog posts and videos which cover a number of Azure tips and tricks and I reckon everyone will learn something by checking them out, I have learned a tonne of new things already.

Here are a list of some of my favorites so far: –

Plenty more to go through, but I do recommend everyone has a look at them as you will absolutely learn something new.

Azure DevOps Best Practice Template Project

I wanna show you how you can take an existing Azure DevOps project and use this as a template for any new project within Azure DevOps. So let’s say you create a brand new project within Azure DevOps and set up a default Wiki and add a dashboard etc. (think of your ideal DevOps project setup).

Ok, now that you have this in place you can actually export the entire project – why might you want to do that I hear you ask?

This is so we can effectively clone this best practice project and use, again and again, heck you can even source control the template if you so wish.

So how do you export your best practice website template with you lovely custom process flow, wiki, etc in place? – this is where the following link comes in handy.

From this above link check the part that says Building a new custom template and you’ll see a link that is basically this:-

Log in and then look for the link top right that says Build your own template

Now select the Organization you want to use and select the project you wish to use as the best practice template project.

Ignore the error about query items, seems to be a bug, Click Generate Artifacts and you should now have a zip file containing several JSON files.

So now we have the project template JSON files exported how do we create a new project based on this zip file? – well, unfortunately, you need to use the AzureDevopsDemoGenerator tool again.

Log back into the AzureDevopsGenerator and click on the ‘choose template‘ button as seen below:-

and then click Private and then choose your zip file which is the file you exported.

Now fill in the last screen like the screen below and boom!

You now have a new Azure DevOps project which is based on your best practice project like so.

Please give this a try and let me know your thoughts on how useful this is for ya – enjoy!


What have I been up to since I was furloughed?

So April 2020 has been an interesting month for me personally, the project I was doing at work got paused due to the customer not being able to support remote working, work had nothing in the pipeline for me to do so I got furloughed, wow talk about being kicked in the nuts, but rather than complain, let’s use this opportunity to learn.

Thank you to everyone who has reached out to me, they know who they are and it’s hugely appreciated.

If you know me then you know that I am always learning, always setting myself goals for the months ahead and so I decided to not write blog posts or produce content for the time I’m furloughed and spend it learning. If I had to write down everything I wanted to learn and read about it would turn into a book itself.

So that being said I wanted to learn containers and GitHub Actions as the first 2 port of calls and fit in some extra community work in between that.

I have probably done more community work this month than in the past 3 or 4 combined and it been amazing – being able to work from home and just get on a call with folk wanting to learn something or getting on a call to help someone figure out an issue has been very sweet. Being able to moderate Michael Crump’s Twitch stream has been super cool, twitch is something I think has a very bright future.

Working from home (albeit not actually working) is amazing, its so much more productive than working in an office or out on-site at a customer.

The following is a list of just a few of the things I’ve accomplished this month, it doesn’t cover the hours, the calls, the number of times I had to change the schedule fo the gav event – would I change what I did if I had the month over – nope!.

  • Global Azure Virtual 2020 – One of the organisers, website creation, speaker sign-ups, chasing people for content, updating the schedule. Also a moderator on the 3 day which was the Live Stream (9 hours).
  • Moderator and participant in Michael Trumps Twitch Streams covering Azure app config, Live Share, GitHub Actions, WSL, and other more general fun topics.
  • Spoke at the Belgium User Group – on Supercharging your Azure Learning as part of the Belgium Community Week
  • Spoke at the Boston User Group – on Supercharging your Azure Learning.
  • Time spent doing Pluralsight this month learning GitHub Actions.
  • Completed Cloudskills course on – Docker Jumpstart.
  • Microsoft Learn learning – 3 modules complete.
  • Microsoft Products Groups (10 PGI’s)
  • Mentoring several people with starting blogs, learning Hugo, exam study guides, and people looking for advice on how to become an MVP.
  • Created a DP-300 Administering Relational Databases on Microsoft Azurestudy guide: –
  • Spoke 1-1 with more a number of community people which a probably the best part of being off.

In May I plan to brush up on my SQL and PowerBI skills and looking forward to that, it’s been a few months since I touched either.

Still amazes me just how many great people I have spoken to this past month and it’s been a blast.

COVID-19 – overcoming business challenges with Microsoft Azure

I was recently asked to contribute to Nigel Frank’s Azure industry whitepaper, which collates Covid-19 related advice for businesses and professionals. My insight has been featured alongside that of a number of my fellow Microsoft Azure MVP’s.

The whitepaper covers five particular challenges many are struggling with at this moment: cost saving, data security, remote working, growing at scale, and business continuity. Hopefully, my own and my peers’ advice will go some way to helping those looking for answers at this unprecedented time.

Please do have a read and share with anyone who would benefit from it:

Stay safe!

Azure DP-300 Study Guide

The following I will be using to study for the DP-300 exam, now I am no SQL Server expert, far from it, some of these links might not be the best fit for that particular area, use them at your peril! 🙂

If your looking for extra study material or amazing SQL Server Workshops then check this out

Hopefully this is of some use to people – if you find more accurate links let me know and I’ll update.

Plan and Implement Data Platform Resources (15-20%)

Deploy resources by using manual methods
• deploy database offerings on selected platforms
• configure customized deployment templates
• apply patches and updates for hybrid and IaaS deployment

Recommend an appropriate database offering based on specific requirements

• evaluate requirements for the deployment
• evaluate the functional benefits/impact of possible database offerings
• evaluate the scalability of the possible database offering
• evaluate the HA/DR of the possible database offering
• evaluate the security aspects of the possible database offering

Configure resources for scale and performance

• configure Azure SQL database/elastic pools for scale and performance
• configure Azure SQL managed instances for scale and performance
• configure SQL Server in Azure VMs for scale and performance
• calculate resource requirements
• evaluate database partitioning techniques, such as database sharding

Evaluate a strategy for moving to Azure

• evaluate requirements for the migration
• evaluate offline or online migration strategies
• evaluate requirements for the upgrade
• evaluate offline or online upgrade strategies

Implement a migration or upgrade strategy for moving to Azure

• implement an online migration strategy
• implement an offline migration strategy
• implement an online upgrade strategy
• implement an offline upgrade strategy

Implement a Secure Environment (15-20%)

Configure database authentication by using platform and database tools

• configure Azure AD authentication
• create users from Azure AD identities
• configure security principals

Configure database authorization by using platform and database tools

• configure database and object-level permissions using graphical tools
• apply principle of least privilege for all securables

Implement security for data at rest

• implement Transparent Data Encryption (TDE)
• implement object-level encryption
• implement Dynamic Data Masking
• implement Azure Key Vault and disk encryption for Azure VMs

Implement security for data in transit

• configure SQL DB and database-level firewall rules
• implement Always Encrypted
• configure Azure Data Gateway

Implement compliance controls for sensitive data

• apply a data classification strategy
• configure server and database audits
• implement data change tracking
• perform vulnerability assessment

Monitor and Optimize Operational Resources (15-20%)

Monitor activity and performance

• prepare an operational performance baseline
• determine sources for performance metrics
• interpret performance metrics
• assess database performance by using Azure SQL Database Intelligent
• configure and monitor activity and performance at the infrastructure, server, service, and database levels

Implement performance-related maintenance tasks

• implement index maintenance tasks
• implement statistics maintenance tasks
• configure database auto-tuning
• automate database maintenance tasks
– Azure SQL agent jobs, Azure automation, SQL server agent jobs
• manage storage capacity

Identify performance-related issues

• configure Query Store to collect performance data
• identify sessions that cause blocking
• assess growth/fragmentation of databases and logs
• assess performance-related database configuration parameters
– including AutoClose, AutoShrink, AutoGrowth

Configure resources for optimal performance

• configure storage and infrastructure resources
– optimize IOPS, throughput, and latency
– optimize tempdb performance
– optimize data and log files for performance
• configure server and service account settings for performance
• configure Resource Governor for performance

Configure a user database for optimal performance
• implement database-scoped configuration
• configure compute resources for scaling
• configure Intelligent Query Processing (IQP)

Optimize Query Performance (5-10%)

Review query plans
• determine the appropriate type of execution plan
– live Query Statistics, Actual Execution Plan, Estimated Execution Plan, Showplan
• identify problem areas in execution plans
• extract query plans from the Query Store

Evaluate performance improvements
• determine the appropriate Dynamic Management Views (DMVs) to gather query performance information
• identify performance issues using DMVs
• identify and implement index changes for queries
• recommend query construct modifications based on resource usage
• assess the use of hints for query performance

Review database table and index design
• identify data quality issues with duplication of data
• identify normal form of database
• assess index design for performance
• validate data types defined for columns
• recommend table and index storage including filegroups
• evaluate table partitioning strategy
• evaluate the use of compression for tables and indexes

Perform Automation of Tasks (10-15%)

Create scheduled tasks
• manage schedules for regular maintenance jobs
• configure multi-server automation
• configure notifications for task success/failure/non-completion

Evaluate and implement an alert and notification strategy
• create event notifications based on metrics

• create event notifications for Azure resources

• create alerts for server configuration changes
• create tasks that respond to event notifications

Manage and automate tasks in Azure
• perform automated deployment methods for resources
• automate Backups
• automate performance tuning and patching
• implement policies by using automated evaluation modes

Plan and Implement a High Availability and Disaster Recovery (HADR)
Environment (15-20%)

Recommend an HADR strategy for a data platform solution
• recommend HADR strategy based on RPO/RTO requirements
• evaluate HADR for hybrid deployments
• evaluate Azure-specific HADR solutions
• identify resources for HADR solutions

Test an HADR strategy by using platform, OS and database tools
• test HA by using failover
• test DR by using failover or restore

Perform backup and restore a database by using database tools
• perform a database backup with options
• perform a database restore with options
• perform a database restore to a point in time
• configure long-term backup retention

Configure DR by using platform and database tools
• configure replication
• configure Azure Site Recovery for a database offering

Configure HA using platform, OS and database tools
• create an Availability Group
• integrate a database into an Availability Group
• configure quorum options for a Windows Server Failover Cluster
• configure an Availability Group listener

Perform Administration by Using T-SQL (10-15%)

Examine system health
• evaluate database health using DMVs
• evaluate server health using DMVs
• perform database consistency checks by using DBCC

Monitor database configuration by using T-SQL
• assess proper database autogrowth configuration
• report on database free space
• review database configuration options

Perform backup and restore a database by using T-SQL
• prepare databases for AlwaysOn Availability Groups
• perform transaction log backup
• perform restore of user databases
• perform database backups with options

Manage authentication by using T-SQL
• manage certificates
• manage security principals

Manage authorization by using T-SQL
• configure permissions for users to access database objects
• configure permissions by using custom roles

Good luck with the Exam!

European Cloud Conference

The European Cloud Conference will take place on October 27-29, 2020 in Nice, France and is Europe’s leading Independent Microsoft Azure Conference.

Book your tickets for this amazing Azure conference and make sure to sign up for the mailing list so you don’t miss out on any news.

The conference will be Europe’s first annual conference dedicated exclusively to Microsoft Azure.

So who should attend? – If you’re a technology leader or have an interest across any area within Azure this is the go-to event for you. If your a Developer, work in Operations, Infrastructure or DevOps, manager, security expert or even at C-Level management then this is the conference you need to attend in 2020.

8 Full day Expert Azure Tutorials have been announced

Azure Security Best Practices

Mustafa Toroman, MVP, MCT
Authority Partners, Bosnia And Herzegovina

Top 3 Highlights of Attending your this Tutorial:

  • Learn about Identity in cloud
  • Network security
  • Data protection

Level: 400
Topic: Security
Category: IT Pro

Kubernetes on Azure

Vishwas Lele, MVP, Microsoft Regional Director
Ais, United States

Top 3 Highlights of Attending this European Cloud Conference 2020 Tutorial:

  • Learn about Key Kubernetes Concepts
  • Deep dive into AKS
  • Learn how AKS integrates with other Azure services

Level: 400
Topic: Azure Migrations
Category: Developers

Azure Messaging – From 0 to 100 in One Day

Sean Feldman, MVP
Particular Software, Canada

Top 3 Highlights of Attending this European Cloud Conference 2020 Tutorial:

  • Balanced tutorial between theory and hands on exercises
  • Practical Azure messaging knowledge distilled in one day
  • Learn from an Azure Messaging expert and MVP

Level: 400
Topic: Messaging
Category: Developers

Azure Virtual Machines 101

Vladimir Stefanovic,
Superadmins, Serbia

Aleksandar Nikolic, MVP
M.O.3.A.K. IT Consulting, Serbia

Top 3 Highlights of Attending this European Cloud Conference 2020 Tutorial:

  • Azure VM Deep Dive
  • Azure VMSS Deep Dive
  • Designing VMs Architecture

Level: 300
Topic: Cloud Compute
Category: IT Pro

Low-Code Cloud App Development and App Modernization

Paul Swider, AZURE MVP
Realactivity, LLC, United States

Top 3 Highlights of Attending this Tutorial:

  • Learn the value of low-code when migrating business apps to Azure
  • See how Power Apps can be used as part of an Azure App Modernization strategy
  • End to end demos of integration with Azure Services.

Level: 300
Topic: Cloud Compute
Category: Developers

A Day of Customer Identity Implementation with Azure Active Directory B2C

John Garland, MVP, MCT
Wintellect, United States

Top 3 Highlights of Attending this European Cloud Conference 2020 Tutorial:

  • Learn how to use Azure AD B2C to provide secure authentication for your application
  • Go beyond the basics and see how you can customize Azure AD B2C to match both your identity needs as well as your brand
  • Learn how to use Custom Policies in Azure AD B2C to enable advanced identity experiences

Level: 300
Topic: Identity & Access
Category: Developers

Getting Gremlins to Improve Your Data

Chad Green, MVP
Scholarrx, United States

Top 3 Highlights of Attending this European Cloud Conference 2020 Tutorial:

  • Understand the basics of graph databases
  • Get hands-on experience setting up, configuring, and optimizing a graph database
  • Get hands-on experience working with graph databases in your applications

Level: 300
Topic: AI
Category: Developers

Monitoring Solutions in Azure

Loftysoft, Sweden

Level: 300
Topic: Azure Management
Category: Developers & IT Professionals

Book your place now to attend.

You can find out more information about the venue and also make sure to check out the faqs.

GitHub Actions Error -refusing to allow an OAuth App to create or update workflow

I have been working with VS Code and learning GitHub Actions recently and was working through a great Pluralsight course on the subject which can be found here ->

Now I had been working away and pushing code quite the thing when I came towards the very end of the course and I got this error: –

! [remote rejected] master -> master (refusing to allow an OAuth App to create or update workflow `.github/workflows/build.yml` without `workflow` scope)error: failed to push some refs to ‘’

I was stumped for some time until I came across the answer here by Mike-E-wins

To fix this I regenerated a Personal Access Token from within GitHub and then went into Credential Manager within Windows and reset the password to the new personal access token and bingo – I can now push the code once more.

Big thanks for Mike adding the solution as I had tried a number of things without success.