This category contains my articles that, in one way or another, include the usage of PowerShell. That’s a lot of posts – such a large share of what I write about contains different configuration steps, and those are most often easiest to do with PowerShell.
While most of the time there’s a configuration option available using the GUI as well, creating a reusable and debuggable script is generally speaking the preferred option for me.
But what is PowerShell, exactly? If you’re reading this blog, you probably already know I’m not the biggest fan of reinventing the wheel – so I’m not going to reinvent the definition, either. The following is adapted from Microsoft’s documentation for PowerShell:
Windows PowerShell (PowerShell, or PoSh for short) is a Windows command-line shell that includes an interactive prompt and a scripting environment that can be used independently or in combination.
Unlike most shells, which accept and return text, Windows PowerShell is built on top of the .NET Framework common language runtime (CLR) and the .NET Framework, and accepts and returns .NET Framework objects. This makes it a powerful tool for most configuration and automation tasks.
Windows PowerShell introduces the concept of a cmdlet (pronounced “command-let”), a simple, single-function command-line tool built into the shell. You can use each cmdlet separately, but their power is realized when you use these simple tools in combination to perform complex tasks. Straight out of the box there’s over a hundred basic core cmdlets, and you can write your own cmdlets and share them with other users.
The Power of PowerShell certainly does NOT come from the environment itself or the built-in commandlets – not at all. It comes from the hugely useful modules written and published by vendors and community. The ones I mostly use are probably the modules for Azure, SharePoint, Exchange and PnP commandlets.
In this article, I’ll do my best to explain how to list all loaded assemblies in a PowerShell session. You see, PowerShell is great at caching assemblies in the weirdest possible way, so ending up with all kinds of mismatches in loaded DLL versions is pretty common. Or just being plainly blocked from loading a new one as you already have a cached reference. I mean, I’ve run into all…Continue reading Listing all of the assemblies loaded in a PowerShell session?
This article explains how to fix an issue when updating a module in PowerShell. The error is something along the lines of: “System.InvalidOperationException: PowerShell Gallery is currently unavailable. Please try again later.” The whole error looks something like the one below, although you can probably get it for many different commandlets. The main point is the latter part of the error: PowerShell Gallery is currently unavailable. This, quite simply, stops…Continue reading How to fix “System.InvalidOperationException: PowerShell Gallery is currently unavailable.”
As Teams adoption grows (partially driven by the megatrend of digitalization, partially by the massive surge in working from home due to Covid-19), different problems managing Teams also become more obvious. The growth seems to have been largely organic. Teams and organizations are adopting the tools that best help them get their work done with little regard to how the tools are maintained and best used. Teams are often created…Continue reading How to fix a Teams team with no Owners?
I plugged Obfuscar into my build pipeline (the easiest configuration ever, by the way) because I needed to obfuscate a DLL I was going to push as a NuGet package. The DLL was obfuscated without changing any of the public APIs, Classes or Parameters – only internal stuff was scrambled. Simple stuff. Essentially, the article linked below describes what I was working towards: However, I wasn’t quite having the success…Continue reading Obfuscar 2.0 errors with loading types from assembly
This post describes a few different things that can (and will) go wrong when you’re trying to load DLLs in PowerShell, and a couple of ways you can try to fix them. Typically, you’d run into an error message like “Exception calling LoadFrom with 1 argument(s): Could not load file or assembly…. “ These issues most typically arise when you’re running a PowerShell script that depends on certain DLLs to…Continue reading How to resolve issues when loading DLLs in PowerShell?
Okay – another simple one. When you’re creating a new Office Group (or “Unified Group”, like they’re called as well), you might get an error for the alias already being used. Pretty simple, but still – let’s see how to fix it. Problem So, this error pops up, while you’re trying to create a new Office Group: The alias is being used by another group in your organization. Please try…Continue reading How to resolve the error “The alias is being used by another group in your organization”
This post describes a simple way to get around the following error while running Connect-PnPOnline: “The sign-in name or password does not match one in the Microsoft account system.” Truthfully, this one is kind of simple and stupid – but as I’ve seen before, it’s surely worth documenting anyway! Below is an example of such error. PS C:\> Connect-PnPOnline https://contoso.sharepoint.com/sites/CommunicationSite/ Connect-PnPOnline : The sign-in name or password does not match…Continue reading Another fix to “Connect-PnPOnline : The sign-in name or password does not match one in the Microsoft account system.”
If your customers are anything like ours, some of them love the new modern library view, some will adjust and some just hate it and want to get as far away from it as possible. While embracing the new stuff is usually smart, there’s some value to sticking to what works as well. The Modern view is going to be the superior choice of the two (if it isn’t already!),…Continue reading How to revert Modern view back to Classic for SharePoint libraries using PowerShell
Another weird, but simple issue I ran into when building a simple .NET Core application. The article should apply to pretty much any .NET Core version, but the version I was on was 2.2. I was just minding my own business, crafting since bits of code into something remotely functional, while I ran into an issue. While trying to apply my changes to the database using .NET Core Entity Framework,…Continue reading EntityFramework Core – Update-Database error “The EntityFramework package is not installed”
There’s maybe a thousand things that can throw an “Microsoft.SharePoint.Client.ServerException”, but a bit smaller amount of things, that are ambiguous enough to be called “Unknown error”. This post describes one, fairly usual fix for this issue! But let’s get back to the beginning for a second – you get what and when now? When running any code, that provisions new sites (much like https://www.koskila.net/new-pnpsite-fails-with-sitestatus3/), you get an error like this…Continue reading Solving yet another “Microsoft.SharePoint.Client.ServerException: Unknown Error”