This is the personal blog site of Ryan Yates

In IT - Specialising in PowerShell, Automation, DevOps, Azure & Office 365
Outside of IT - Music, Psychology/Mental Health, Science, Law & Politics
There are a number of posts on this blog

There are currently many drafts in progress & have been for a long time

MVP award renewal time, my Renewal & New recent MVPs

So this year the MVP program had a bit of a change to how it handled the renewal and awarding process, a change that I fully supported, as it would allow for the program to become, in my own opinion, more agile and therefore recognise more and more memebers of the amazing community on a more reasonable, and sustainable, cycle process. My only gripe, and this is so minor that I can look at it and laugh at it, as it only really affected me in a personal manner, was that the change to the renewal cycle meant that this year I got a free extension of 3 months from April till July (yay) but I lost the receiving the award as an early birthday present from Microsoft like I had for my 26th last year.

5 out of 6 in 6 Days = A busy week

This week has been a busy week for me with the SQLRelay and SQLSat Munich events. It has been full of fun especially seeing as for SQL Relay we had the fun bus for travels between the different venues all across the UK. The week started of as most other weeks do and that was with me at home in Derby on Monday Morning. This was followed by me jumping on the train to Birmingham around 11am Monday Morning for the first leg in the SQL Relay tour where I presented a completely new and fully non-technical session, something that is a little bit out of my comfort zone of the typical more heavily technically focused sessions that I’m used to delivering.

PSConfEU call for Speakers is now Open!

Proud to announce that Speaker Submissions are being accepted for PSConfEU 2017 – you can submit your session proposals via the following form A few things to note about this year’s submission and selection process We have a hard cut of date of the end of Sunday December 1st – submissions must be in by this time or will not be accepted. This is because we will have a selection committee gathering during the week commencing Monday 2nd December The members of the selection committee we all vote for our favourite sessions.

#PowerShell Side by Side #ProTip

Today I’m going to share with you a little but simple tip to enable you to do more Side by Side testing of PowerShell v6 with you current installed version in a simpler and less error prone manner. Firstly we will create a new environmental variable which we can do in a number of ways but I quite doing it this way as its easy enough to script Function Update-PS6Path {

Speaking at SQL Saturday Munich October 8th!

So last October I attended the first SharePoint Saturday in Munich which was great event and if you want to you can read up about my experience in this previous post. However it seems that in October this year I’ll be returning to Munich for the SQL Saturday event where I’ll be delivering my Why & how to implement PowerShell DSC for SQL Server session. There has been a number of changes to the xSQLServer Resource over at https://github.

1 Small thing about running PowerShell Core and Windows PowerShell side by side on Windows

**Updated August 23rd 2016 as there was a change between 6.0.0.8 & 6.0.0.9 to PSModulePath that I had missed – I will be blogging about this in more detail in a future post but for now check the updated section at the bottom of this post! ** If your like me and you want to test out PowerShell Core on you Windows machines as well as other *nix machines then you may get caught out with this like I did in the upgrade from 6.

My Opinion on Open Source PowerShell and what this means to the PowerShell community

If you’ve been under a rock the last few days (or for days/weeks/months depending on when your reading this blog post) then you would have missed that on Thursday August 18th 2016 - Microsoft Open Sourced PowerShell! Not only did they Open Source PowerShell they have released a Cross-Platform alpha version that can be installed on a variety of Linux Distros as well as a Mac OSX version. You can read about it in more detail from the Jeffery Snover himself from over at https://azure.

Minor Blog Update - now HTTPS by default!

This Sunday I set out to force my blog hosted on Azure to be Https by Default and I mainly made use of the following Article by Troy Hunt on the underlying implementation which makes use of Cloudflare but I’ve also decided to get it set up ready for if I may want to move away from CloudFlare to Azure CDN in future. There really isn’t to difficult to do this especially if you follow Troy’s post.

Functional / Non-Functional Pester Tests and why I think you really should have a form of both.

So in this blog post I’m going to cover why there is a need to create Functional & Non-Functional Pester Tests for your PowerShell Modules but before I get into the nitty gritty into the whys behind creating both let me explain what the real differences are between the two because it may not be something that you have previously thought about or considered in your journey up until this point.

Recap of a Long February, March, April and May - Events Events Events!

I had intended that I would be doing a recap type post at the end of every month however I’ve been very busy so haven’t been able to do so for a number of months – that and I had an issue with my blog being offline for a few weeks. Let us start with a recap on the amount of events that I managed to attend and I think that you can see that I did a lot of travelling and attending a number of different user groups.

Creating a set of simple Pester Tests for existing or old PowerShell Modules & making them easier to update in future.

I have long thought of a way to Automagically create some Pester Tests for the Functions contained in a module that perhaps was developed before Pester was really well known. At that Point we may have been creating psm1 files that contained a number of nested functions within them. I know for one that I am one that did this / added to existing modules that were built this way – have a look at SPCSPS on Github or aka SharePointPowerShell on CodePlex as one of the first projects that I got involved with in the Open Source world.

How to find Local User Groups & events - My Experience

I had a discussion last night via twitter with one of the attendees that I met at the Microsoft Cloud Roadshow in London earlier this year and the outcome of the conversation was that although I find it easy to find out about events – this isn’t all that common for others. So I decided that I would quickly jot down some of the places that can be useful to search to find events that are going on around you.

The Pains of Poor/Missing Documentation

There will be a time where you are attempting a new task, whether that is personally or professionally and you find yourself having to resort to the documentation of the product to get to the end goal, whether that be to put together a new piece of furniture, preparing an exquisite meal or bashing different bits of software together from different companies or more commonly the same company. One thing that is common in all these scenarios is that if the documentation is completely missing then you are forced down the road where you take the “pot luck”/”educated” guess to get to the desired end result and sometimes that can lead to some hilarious results, especially if it is in relation to cooking or building furniture.

Building A Lab using Hyper-V and Lability - The End to End Example

Warning – this post is over 3800 words long and perhaps should have been split into a series – however I felt it best to keep it together – Make sure you have a brew (or 2) to keep you going throughout reading this In this post we will be looking at how you can build a VM Lab environment from pretty much scratch. This maybe for testing SharePoint applications, SQL Server, Exchange or could be for additional peace of mind when deploying troublesome patches.

Awarded the MVP Award – What this means to me and the future for the community

The MVP Award is defined by Microsoft as the below Microsoft Most Valuable Professionals, or MVPs, are community leaders who’ve demonstrated an exemplary commitment to helping others get the most out of their experience with Microsoft technologies. They share their exceptional passion, real-world knowledge, and technical expertise with the community and with Microsoft. This means that within the different areas of the Microsoft Stack there are those out there that really believe that the world can be a better place when we come together as a united front and share the knowledge that we have.

Congratulations 2016 Microsoft MVP!

This is just a very quick post to give my Congratulations to all the New and Renewed MVP’s that have and continue to make the community a much better place. I wasn’t one of them this time around but perhaps that will change in the future

Fooled Ya! Today I became a MVP!

Well only if you read this post This is an exceptional honour to have been awarded the MVP for Cloud and DataCentre Management and to me this kinda feels like an early birthday present from Microsoft (my birthday is on Monday) This isn’t something that I ever expected to achieve however it is a recognition from Microsoft themselves of the work that I have previously done for the community. I started off down the community path only last year in that time I have made some amazing friends and met a number of other MVP’s along the way.

Invoking PSScriptAnalyzer in Pester Tests for each Rule

This is a quick walkthrough on how you can get output from PSScriptAnalyzer rules in your Pester tests. So you’ll need Pester ( Version 3.4.0 or above ) PSScriptAnalyzer ( Version 1.4.0 or above ) Please note this is shown running on PowerShell v5 as part of Windows 10 Build 14295 – results may vary on other PowerShell Versions In the nature of the way we want to work we may have new ScriptAnalyzer rules in the near future (new version / additional community additions / your own custom ScriptAnalyzer rules etc) and we would want ensure that we test for them all without having to change much of the below code

C’Ya Manchester - Hello Derby!!

After yet more changes in my housing see my previous post for a bit of background link – I have decided to settle in Derby and this has been for a few very good reasons. I’ve got a good group of friends here. Manchester, London, Nottingham, Birmingham & Wolverhampton are all short train journeys away and I’m expecting to spend more time between them in the coming months ahead. I almost moved here back in January – but I decided to try and give Manchester another go from the work perspective and this seemingly wasn’t to be the case However I made a good group of friends in Manchester at the various events I’ve been to there over the last 2 years (more so the last year – see this page for more details) and I’ll still be trying to attend some of the amazing events there when it is feasible.

Pulling the Community Together to Improve the Quality of PowerShell Modules

In a discussion that started on Twitter a while back with June Blender about the quality of the Modules being posted to the PowerShell Gallery I had an Idea on a way that we could help improve this from the community – using the tools that we have available to us and more importantly the expertise of the rest of the community to help shape and guide the direction for modules.

The Power of the Humble Pint and the Community when things are difficult!

Disclaimer This isn’t a fun post (to read or to write) and nor is it a technical post – this is a reflection on the last few years and is in its very nature quite a personal post. I expect that there will be some kick backs about this post in future and I would humbly ask that you try and imagine yourself having been in my shoes at the time of these events happening and also at the time of writing this post.

Updated! Quick Win – Install PowerShell Package Management on systems running PowerShell v3 / v4

Update 9th March 2016 - PowerShell Team released an updated version of the PackageManagement modules today and I’ve updated the Script accordingly and will install the latest PackageManagement modules for you with a little verbose output Updated Microsoft blog is at https://blogs.msdn.microsoft.com/powershell/2016/03/08/package-management-preview-march-2016-for-powershell-4-3-is-now-available/ This is a very very quick post about the latest feature being made available downlevel from Powershell v5. As Microsoft have released PackageManagement (formally OneGet) that is now avaliable for PowerShell v3 & v4 as detailed in this link http://blogs.

Beware where you place Comment based Help

In working on the PSWordPress Module that Stephen Owen (@foxdeploy) has started I came across an interesting issue after running my Pester tests which calls - $ModuleFunction.Definition.Contains(’.Synopsis’) | Should be True to check for comment based help - and it was failing even though I had Comment Based help in there. The problem was that the Help was Above the Function Keyword - so this means that it wasn’t carried through to the $ModuleFunction.

Updated! Quick Win – Install-WMF5 (again)

UPDATE 25/12/2015 - Due to WMF5 Install issues the InstallWMF5.ps1 Script has been removed from GitHub until the PowerShell Product Team re-release the WMF5 installers. Once re-released I will re-release the InstallWMF5.ps1 script UPDATE 24/02/2016 - WMF5 was re-released today and the below scripts should still work This is a very very quick post about installing WMF5 on Windows 8.1 or Server 2012 / Server 2012 R2 via this function script I created

Travelling to London - yet again!

Today I’m off to London for the 5/6 time already this year. This time I’m off to present at the WinOps Meetup and then attend the Chef Users Meetup the following day. My Presentation at WinOps will be the one that I gave for the Mississippi PowerShell User Group. Looking forward to seeing old faces and new ones there as well!

Presentation to Mississippi PowerShell User Group now Available on Youtube

I recently presented to the Mississippi PowerShell User Group via Skype for Business on Tuesday 9th (well Wednesday as it was 2:30am that I presented for them) The video from that session is now online at https://youtu.be/z3CmI73LnyI My session was around my Script & Module Creation Workflow and the Tight integration with Git & Pester that I have included in a module that is an Addon to the PowerShell ISE - Called ISE_Cew

Recapping a fun filled January

January was a month where I did a lot of travelling and attending different user groups. I attended the following events 12th - PASS SQL London Chapter 14th - Microsoft UKITCAMP event - What’s New in Windows 10 Enterprise 14th - WinOps Meetup - London 19th - SharePoint User Groups - Leeds 20th - Microsoft UKITCAMP event - What’s New in Server 2016 - Manchester 20th - LeanAgile Meetup - Manchester 26th - .

#PSTweetChat – The EU Edition

If you have been involved in the #PSTweetChat events that have been running with Adam Bertram (@adbertram) & Jeffery Hicks (@JeffHicks) and a number of others, then you would be aware of just how awesome these 1-hour open discussion sessions truly are. A number of PowerShell Questions get asked and answered from members of the PowerShell community worldwide so they can become a valuable resource to getting a right answer to an issue quickly or even just learning more about the people that make the awesome community and what they are currently up to this week.

Get-PSUGUK – Call for Speakers

The UK PowerShell User Groups (Get-PSUGUK) are undergoing an expansion with some new User Groups being sprung up across the UK over the upcoming months. If you have been able to attend any of the previous events (Manchester & London) then you will know that I’m a big advocate for making a real community out of the User Group Meet ups – one where there is the opportunity for those from all differing IT backgrounds to rise up and present a topic to their local User Group.

My Workflow for Using Git with Github – pt3

So this is Part 3 of a series of Blog Posts on my (currently ever changing) Workflow with Git, Github & PowerShell. Hopefully you have had chance to look at the previous posts in this series if not they are Part 1 Part 2 However, for this post we will be concentrating on Script & Module Creation and how we can make the overall experience more efficient with the PSISE_Addons module that I’m releasing on Github https://github.

ThePSGallery AutoBot – Some Issues I’ve Found.

Ok so If you didn’t already know then this happened I got bored so have Created an Auto-Bot for Tweeting about Releases in the PowerShell Gallery cc @jsnover https://t.co/QgfMhTaGDu — Ryan (@ryanyates1990) December 31, 2015 And although it has been interesting it has also brought up some issues (mainly data which is one of my biggest bug bears in all things IT) with the PowerShell Gallery and these include and is not limited to

2015 – Challenging but it’s only the beginning!

This is just a post on my own recent reflections of the events throughout 2015. Each month in 2015 came with its ever more increasingly difficult obstacles to overcome and for the first 6 months of the year a lot of the obstacles had come about in the previous year or two and a lot of it was predominantly centred around my children. People close to me will know just how hard 2015 was for me & how at one point it wasn’t looking like I might actually have gotten through it.

Quick Win - Install WMF5 via PowerShell 1 Liner

** UPDATE 25/12/2015 Due to WMF5 Install issues the InstallWMF5.ps1 Script has been removed from GitHub until the PowerShell Product Team re-release the WMF5 installers. Once re-released I will re-release the InstallWMF5.ps1 script ** This is a very very quick post about installing WMF5 on Windows 8.1 or Server 2012 / Server 2012 R2 via this function script I created And what better way than a simple 1 liner to grab and run the script

My Workflow for using Git with GitHub, OneDrive, PowerShell & Exchange – optimising efficiency across devices. Pt 2

So this is the Second of a series of blog posts about how my workflow with Git, GitHub, PowerShell & Exchange currently works. In this series we will cover a number of different applications and a number of custom PowerShell Functions that will really help you to optimise efficiency across devices when these processes are put in place. As we left off the last part I had opened up the thoughts to the next stages of the process – the actual automation of the workloads and in this post I will go into detail about the integration between GitHub & Exchange to create New Inbox Folders and Inbox Rules for any newly followed Repo’s

My Workflow for using Git with GitHub, OneDrive, PowerShell & Exchange – optimising efficiency across devices. Pt 1

So this is the First of a series of blog posts about how my workflow with Git, Github, PowerShell & Exchange currently works. In this series we will cover a number of different applications and a number of custom PowerShell Functions that will really help you to optimise efficiency across devices when these processes are put in place. Ok so I am going to share with you my current end to end workflow for ensuring that I commit myself to making use of Source Control for all of my Scripts (and other files when required).

Quick Win - Install Windows 10 RSAT Tools via PowerShell

This is a very very quick post about installing RSAT for Windows 10 via this function script I created And what better way than a simple 1 liner to grab and run the script Invoke-Expression (New-Object Net.WebClient).DownloadString(‘http://bit.ly/Win10RSATinstall2') And if you want to look at the Script then direct link is http://bit.ly/Win10RSATinstall2 Hope this is useful for you PS credit goes to @lee_holmes for the idea from following tweet iex (iwr http://t.

Get-PSUGUK & PSConfEU – How I got involved in Organising them

Well this is a blog post that is really like the PSConfEU website and the organisation that goes with a conference like this - a real work in progress – by this I mean that at current writing it is correct however in a week well then it will be partially obsolete, but only partially. So lets go right back to the beginning of the story, and for me this story goes back to July and just after I had agreed that I would be setting off for the PowerShell Conference in Singapore, see my post on just how amazing that was here, and how I had really been finding that the was an issue for me with the fundamental lack of UK PowerShell movement.

SPS Munich – What an event!

Ok so I’ve neglected the blog recently and that is because I’ve genuinely not had time to think about it. This has consisted of 2 different SharePoint Saturday’s – one as an attendee (Munich) which I’ll cover in this post & one as a “presenter” (Oslo) and I’ll come back to SPS Oslo in another post. Firstly, SPSMunich was the first SharePoint Saturday that I’ve attended as a just an attendee and I must say that we were very much spoiled in many ways.

HaveIBeenPwnd – PowerShell Function

I recently became aware of a site called HaveIBeenPwnd - https://haveibeenpwned.com - run by @troyhunt and wanted to create a simple PowerShell Function for being able to check against this Database on whether your Email address (or like me addresses) has been likely to have been Pwnd! The function is in a Module called Check-HaveIBeenPwndStatus & the current function is called Check-HaveIBeenPwndStatus with only the 1 parameter –Account in which you pass your email account across

Scripts, Functions, Modules, DSC resources – Pick the right option!

This may become a bit of a controversial post and that in some parts in fully intentional! This really should be giving PowerShell Users (looking at the admins of us all that just use PowerShell as if it were VBScript with no real community or practices) the opportunity to understand the problems with what they are outputting to “get it done” at this current time. My issue is that over the last 9 years PowerShell has become a crucial tool to be able to manage at scale (and also singular machines too) and yet there are still some truly awful examples being posted each day on how to solve what is most times a simple issue which has already been resolved by others

Quick Win – Install PowerShell Package Management on systems running PowerShell v3 / v4

This is a very very quick post about the latest feature being made available downlevel from Powershell v5. As Microsoft have released PackageManagement (formally OneGet) that is now available for PowerShell v3 & v4 as detailed in this link http://blogs.msdn.com/b/powershell/archive/2015/10/09/package-management-preview-for-powershell-4-amp-3-is-now-available.aspx That’s right the ability to pull directly from the PowerShell Gallery but you need to install the Package Management release which I’ve Scripted for you here. And what better way than a simple 1 liner to grab and run the script

#PSConfAsia – What an amazing experience!

So this post is a fair bit overdue and that’s because I’ve been far far too busy as of late. However let’s get right into it! #PSConfAsia was an important event for me mainly because it was my first venture out of the UK in 20 years – yes 20 – which meant that I needed to sort out my passport – something that had been on my to-do list for about 6 years and it was my first real holiday EVER!

SPSCambridge - Much more than just Technology

​Well this weekend was an interesting one in which I was able to partake in some really great sibling events to the main day which was just utterly fantastic to be a part of. The SPSCambridge/SQLSatCambs event has to be one of my favourite one to have attended recently due to the bringing together of both SharePoint Content and SQL Content under the single roof - and let me tell you it worked fantastically - Kudos to Mark Broadbent for the Ochestration of the whole event as events of this size arent easy to organise and co-ordinate.

PSConf - Where even the speakers will be learning!

So to set the scene a little there has been some discussions between some of the Speakers about what PSConf will be like for them and I’ve been revisiting the schedule to determine which areas are of the most interests in my opinion to the following categories of attendees Beginner Possibly new to IT and looking at understanding what has in the last 2+ years become a much more critical component in IT systems administration

Coming to Manchester October 13th - Get-PSUGUKMan

I’ve been pondering for some time about getting a Manchester PowerShell User Group up and running and about a month ago I said to myself - Why not just do it. So I did !!! The first Manchester PowerShell User Group - which in keeping with the existing UK PowerShell Get-PSUGUK - is being called Get-PSUGUKMan and although I’m in the very basic stages of getting this sorted I do have a venue sorted and also 1 of 2 sessions already put together with hopefully a second to get confirmed in the upcoming weeks.

September 12th - A Mammoth day of SharePoint & SQL!

​So in just under 5 weeks we will have upon us a great event. The combination of a SQLSaturday and a SharePoint Saturday all under the 1 roof at The Moller Centre, Churchill College, Cambridge. This isn’t the first time an event like this has happened and it is unlikely to be the last time it happens either - but for me this is a first. Its a first for a number of reasons - not only is it the first joint SQL & SharePoint event I’ve been to but it will be the first that I’m presenting at!

I'm Still Standing - no matter how tough it's been!

I’m gonna try and keep this one short - the main reason is that there is a lot of pain points within this post that I could delve into some very deep detail and this could easily end up being long enough to be a book. So to cut it short but to set the scene this post has to look back 13 years ago - to when I was only 12 and even back then I was a highly optimistic person about what I could achieve and have believed that holding back opportunity to those with potential

Preferred Contact methods - Why I have these in place!

If anyone reads my blog that knows me quite well and has spent some considerable amount of time interacting with me then you will probably know that I have preferred methods of contact - and with good reason too. Now I have a few rules that I stick to meticulously because of previous annoyances i have had with Telemarketers etc and these include Not answering “Unknown” or “Blocked” callers Google Searching numbers that I do not have stored in contacts and then deciding if I am to answer the call Typically not answering between 9-5 as that is my employers time and it is distracting Not answering if I’m not expecting a call Expecting a Clear and Concise reason for the call with a Name and contact number or better still and email address Now I don’t feel that I’m being unreasonable in the last one - After all we are all busy with many different priorities and lets face it unless its an absolute emergency then is mobile contact the best first initial port of call.

User Groups - Its not all SharePoint

This week has seen me attend the SharePoint User Group in Leeds on Tuesday in which there were presentations by Hugh Wood from Rencore and Garry Trinder from ID and then the LeanAgile Meetup in Manchester. But firstly before I go into detail about the events lets take a step back and set the scenes leading up to them both. For me any community event whether it be SharePoint User Groups or the LeanAgile meetup or the bigger events like SharePoint Saturday’s & SQL Saturday’s the main aspect for attending these events for me is that you gain an insight to how others in other organisations are working due to the inherent knowledge sharing that occurs at these types of events and I do my best to try and drag others along where possible.

SPSLondon - A brilliant although challenging weekend

So this Saturday saw SPSLondon come upon us and like any other event like this it brings with it some very interesting and difficult decisions on which sessions to attend. As an attendee I would have found it very difficult to decide on which sessions that I would have attended - but to then add to that as a presenter and you​ can imagine some of the additional headaches that can and in my case did happen.