10 Things You Need As An Enterpise Scripter

#3 Standards Having strictly adhered to standards allows for a faster onboarding process for new team members. Following standards is also very helpful for the times when other team members have to iterate on and improve an existing solution. There is already enough to think about when doing automation planning and coding work. Having well defined coding and documentation standards eliminates a lot of wasted time and energy having to sort through inconsistencies or locate missing artifacts. Read more →

10 Things You Need As An Enterpise Scripter

#2 Enjoyment This is a simple one and applies to many more aspects of life than enterprise scripting. If you know from the onset that you are not going to enjoy this work, plan appropriately. Aka, find someone else to do it. If you don’t love it, you are going to have a challenging time consistently outputting high quality work. This work never ends, it’s a practice of constant iteration and improvement. Read more →

10 Things You Need As An Enterpise Scripter

#1 Tooling The use of proper tooling is the first and most important step on your journey to enterprise level scripting. Proper tooling can save you time in development, help you design better solutions and most importantly show the value of your hard work to anyone who may be interested. I will break this down into two sections, Development Tooling and Project Tracking tooling. Development Tooling First and foremost get used to change. Read more →

10 Things You Need As An Enterpise Scripter

Introduction The main difference between enterprise level scripting and non-enterprise level scripting is professionalism. This is a simple truth. You may have the best code in the world and it may have the potential to save millions of dollars but without the proper attention to the small and large details it is most likely a script that will live and die with you. It won’t even be a foot note in the company’s internal wiki. Read more →

Pester - TestGroups Stack Corrupted

Exception calling "LeaveTestGroup" with "2" argument(s): "TestGroups stack corrupted: Expected name/hint of '$name','$hint'.. Found '[context]','Context'." $pester.LeaveTestGroup($testScript.Path, 'Script') This is caused when your function is calling “exit” while testing. Or at least it did in my case. Properly mock whatever is calling exit or find a way to not use exit! Look at the source code here for hints as to what is actually happening. Pester makes sure it is still in the context it started as before leaving a test group. Read more →

Import-SMAModule fails!

When using Import-SMAModule you get a wild error. Import-SMAModule : Could not import the module []: System.Data.Services.DataServiceClientException: The underlying connection was closed: An unexpected error occured on a receive. ---> ... Make sure the module you are importing is a zipped folder with the proper module files! This is clearly documented. :) Read more →

Uninstall the OMS Agent

Just keeping this here for future use. This will remove the OMS client / Microsoft Management Agent. Cheers! $App = Get-WmiObject -Query 'select * from win32_product where ` IdentifyingNumber = "{742D699D-56EB-49CC-A04A-317DE01F31CD}"' $App.Uninstall() Read more →

Download Office 2016 Updates Easier

I am a firm believer of keeping your Office installation source fully patched. This can reduce your deployment time and increase security while improving the end user experience. I have written a simple script that downloads all required Office 2016 x86 software updates using a list of updates I have published and data pulled from ConfigMgr based on entries in that list. I have a previous blog post on how to do this using ConfigMgr to search for available software updates download them to a deployment package, remove any problem updates and then extract the MSP files. Read more →

Removing ConfigMgr Drivers with missing source files

You can find the drivers with missing source files removal script here. This is the second article in a series a driver articles. You can find part 1 here. Driver management with ConfigMgr can be a bear at times. Without some attention to detail towards organizing your driver source locations it is not uncommon for driver source files to be deleted before the driver is removed from ConfigMgr, by accident or otherwise. Read more →