PowerShell not loading them DLLs

How to resolve issues when loading DLLs in PowerShell?

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 be loaded (to then execute some of the methods from them). This could happen kind…Continue reading How to resolve issues when loading DLLs in PowerShell?

PowerShell commandlet "new-unifiedgroup" - The alias is being used by another group in your organization. Please try a different alias.

How to resolve the error “The alias is being used by another group in your organization”

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 a different alias. An example script & output is shown below: # Historically, Groups have…Continue reading How to resolve the error “The alias is being used by another group in your organization”

SharePoint PnP logo

Another fix to “Connect-PnPOnline : The sign-in name or password does not match one in the Microsoft account system.”

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 one in the Microsoft account system. At line:1 char:1 + Connect-PnPOnline https://contoso.sharepoint.com/sites/CommunicationS … + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…Continue reading Another fix to “Connect-PnPOnline : The sign-in name or password does not match one in the Microsoft account system.”

How to revert Modern view back to Classic for SharePoint libraries using PowerShell

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!), but there are a multitude of reasons why one might want to revert to the…Continue reading How to revert Modern view back to Classic for SharePoint libraries using PowerShell

entity-framework-logo

EntityFramework Core – Update-Database error “The EntityFramework package is not installed”

Another weird, but simple issue I ran into when building a simple .NET Core application. 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, executing Update-Database simply failed with the following error: The EntityFramework package is not installed You might also encounter this version of the error: The EntityFramework package is not installed on project [projectname here]. This…Continue reading EntityFramework Core – Update-Database error “The EntityFramework package is not installed”

If you could just fix SharePoint... That would be great.

Solving yet another “Microsoft.SharePoint.Client.ServerException: Unknown Error”

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 almost immediately: Microsoft.SharePoint.Client.ServerException: Unknown Error at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream) at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse() at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb) at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()…Continue reading Solving yet another “Microsoft.SharePoint.Client.ServerException: Unknown Error”

Get-Command -Module AzureRM.Profile. You're seeing it correctly - it doesn't have a Logout-AzureRmAccount, Disconnect-AzureRmAccount, Remove-AzureRmAccount or even Remove-AzureRmContext commandlets! That's a lot of fun :)

Oh no! PowerShell cached my Azure credentials and I messed up wrong customer’s environment!

Whoops. Could happen to anyone, since the Azure PowerShell since (approximately) version 6.3.0 will cache your credentials between sessions without warning you. It’s really easy to run your commands with cached accounts, and end up executing your scripts against the wrong environment. In less serious cases, this means that you’ll end up running commandlets twice against the test environment, while you think you’re running them first against test, and then production. In more serious cases, you’ll deploy your ARM templates or run your cleanup scripts against wrong…Continue reading Oh no! PowerShell cached my Azure credentials and I messed up wrong customer’s environment!

If you could just fix SharePoint... That would be great.

Fixing “-2147024891, System.UnauthorizedAccessException” when accessing SharePoint SOAP Web Services

This post is about delving into some legacy stuff – Microsoft has still kept SOAP-based SharePoint Web Services included in the product, since a lot of functionality has been built on top of them. We encountered an issue where you suddenly started getting exceptions for Unauthorized Access (-2147024891, System.UnauthorizedAccessException), no matter if you had access to the list or not. Error description We started getting this error, when requesting list items using SharePoint SOAP Web Services (namely, Lists.asmx): <m:code>-2147024891, System.UnauthorizedAccessException</m:code> <m:message xml:lang="en-US"> Access denied. You…Continue reading Fixing “-2147024891, System.UnauthorizedAccessException” when accessing SharePoint SOAP Web Services

SharePoint PnP logo

How to fix Add-PnPApp failing with an Access Denied error

This was a peculiar case! An issue I hadn’t run into before, and luckily a disturbingly simple fix. But first, let’s set up the scene: We were running a long-ish PowerShell script using a Global Administrator account. One part of the script was supposed to add and deploy a couple of SharePoint apps. But while running Add-PnPApp, we ran into errors: Add-PnPApp -Path $path -Scope $app.Scope -ErrorAc… , Error: {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}}}…Continue reading How to fix Add-PnPApp failing with an Access Denied error

SharePoint PnP logo

New-PnPSite fails with “SiteStatus” : 3

While running “New-PnPSite” or actually any other site creation, method in PowerShell or programmatically, the site creation fails and you get an error like the one below back: New-PnPSite : {"d":{"Create":{"__metadata":{"type":"SP.Publishing.CommunicationSiteCreationResponse"}, "SiteStatus":3, "SiteUrl":""}}} Ouch! Where does this come from? In the code of New-PnPSite, the actual function call is shown below: var results = ClientContext.CreateSiteAsync(creationInformation); var returnedContext = results.GetAwaiter().GetResult(); (Source) So, the error is not thrown by PnP cmdlet, but rather comes from SharePoint CSOM. This is pretty normal and not surprising, but means we…Continue reading New-PnPSite fails with “SiteStatus” : 3

"Get-UnifiedGroup" cmdlet produces a list of your Office 365 Groups with some default properties shown

How to fix an Office Group with no Owners

This post explains how to add new Owners to your Office Groups using PowerShell. If your group has ended up without any owners, PowerShell might even be the only option, since the graphical user interfaces for Office Groups management are not that good.  Background The hype around Office Groups kind of died down a little bit a while back, since their role wasn’t that clear – they didn’t really do much, and were confusing for end users. Back then, I posted about them replacing Site…Continue reading How to fix an Office Group with no Owners

PowerShell header

Properly checking if an item in a folder is a Directory or not in PowerShell

Got a great tip from a colleague, on how to properly check if an item is a file or a directory. In one case, we weren’t really ever sure, if another script had finished its running and unzipped a certain zip package into a folder – and we had to verify it had, before continuing the execution. Our initial implementation worked most of the time… But not quite always. The purpose of this blog post is to explain how we found a pretty well working…Continue reading Properly checking if an item in a folder is a Directory or not in PowerShell

Get-MsolServicePrincipalCredential - how to get the expiration date for a clientId

Fastest way to verify your Client Id and Client Secret are valid with PowerShell

So, you have a Client Id and a Client Secret, but don’t know if they work anymore? Maybe they are expired? Maybe someone removed them? No worries! We can use PowerShell to validate them easily! Solution By using PowerShell, it’s fairly straightforward to verify, that your Client Id and Client Secret work. See the snippets below for 2 different steps: First we validate, that the values work. If they don’t, let’s run another script to see if the Client Id exists but has expired. Validate…Continue reading Fastest way to verify your Client Id and Client Secret are valid with PowerShell

PowerShell header

How to get the user count for Azure AD Enterprise Application

Have you ever tried to find out the number of users of an enterprise application in your Office 365 tenant? This could be needed for multiple different reasons: maybe your organization is paying for the app and you want to know who’s actually using it, maybe the usage is required by a company policy and it’s useful to know if organization’s members are actually using it, or maybe you just want to know about the user adoption of an app. For apps with under 100…Continue reading How to get the user count for Azure AD Enterprise Application

SharePoint just denied your custom script from running. What do?

5 ways to enable Custom Scripts for a SharePoint site collection

This article explains how to enable custom scripting for any SharePoint site collection. This is functionally equivalent with setting setting “-DenyAddAndCustomizePages 0” or disabling the NoScript feature. Different instructions and solutions apply to SharePoint Online, and on-premises scenarios (SharePoint Server 2013, 2016 and probably 2019) – so see below for all of them. Different solutions are required to resolve the issue for different target sites: Modern SharePoint Team Sites (attached to Office Groups if on SharePoint Online, and without one if On-Premises) Modern SharePoint Communication…Continue reading 5 ways to enable Custom Scripts for a SharePoint site collection

Let me explain SharePoint...

Don’t remove the root web of your classic SharePoint Site Collection!

A quick heads-up – if you remove the root site (or RootWeb, like it’s called in the code) of your classic SharePoint Site Collection, that’s going to cause you some grey hairs. It might even, in some rare cases, be unrecoverable! The following post describes what kind of issues you might run into, if you remove the root web instead of the whole site collection, and how to remove the site collection instead. Update 13.7.2019:SharePoint Online keeps evolving, and at least on some tenants, removing…Continue reading Don’t remove the root web of your classic SharePoint Site Collection!

Console output copypaste

How to output console or PowerShell transcript to a file in Windows

Every now and then, you run into a situation, where you’ll need to somehow dump the console output (or transcript) of running a console application. I’m actually going to argue it happens a lot more often than one would think – in my case, any time a customer requires a webjob or a function, that one would normally deploy to Azure, being ran on the servers of the customer. This post describes how to do that. Problem Something breaks or the app crashes, and the…Continue reading How to output console or PowerShell transcript to a file in Windows

SharePoint is not broken - it just does't work

How to fix “The web site does not support SharePoint Online credentials. The response status code is ‘Unauthorized'”

While running some SharePoint Online -PowerShell commandlets, or connecting to a SharePoint Online site from your app, you get a following (or similar) error about your SharePoint Online credentials being unauthorized for something you should definitely be authorized to do: Cannot contact web site ‘https://[tenant]-admin.sharepoint.com/’ or the web site does not support SharePoint Online credentials. The response status code is ‘Unauthorized’. And that’s not all – by digging into the full error message, you find the underlying internal error: MSDAVEXT_Error=917656; Access+denied.+Before+opening+files+in+this+location%2c+you+must+first+browse+to+the+web+site+and+select+the+option+to+login+automatically. What awakens my curiosity,…Continue reading How to fix “The web site does not support SharePoint Online credentials. The response status code is ‘Unauthorized’”

SharePoint PnP logo

How to solve errors about missing PnP Cmdlets on PowerShell

This blog posts briefly describes how to solve some of the most typical errors about missing PnP Cmdlets when using Windows Powershell (or SharePoint Online Management Shell). Symptoms When trying to run some PnP-related cmdlet, you get an error similar to ones below: Connect-PnPOnline : The term ‘Connect-PnPOnline’ is not recognized as the name of a cmdlet, function, script file, or o perable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try aga…Continue reading How to solve errors about missing PnP Cmdlets on PowerShell

"For security reasons DTD is prohibited in this XML document. To enable DTD processing set the ProhibitDtd property on XmlReaderSettings to false and pass the settings into XmlReader.Create method."

Fixing the “For security reasons DTD is prohibited in this XML document.” issue

This post describes a couple of ways to fix the issue “For security reasons DTD is prohibited in this XML document”. At least for me, it appeared when trying to access SharePoint Online using Powershell or a console program using OfficeDev.PnP (which in turn uses CSOM). Error When running any piece of code, whether in PowerShell, .exe console or anything else than in the code behind relies on .NET Framework, you get an error like this: For security reasons DTD is prohibited in this XML document.…Continue reading Fixing the “For security reasons DTD is prohibited in this XML document.” issue