Something's gone wrong!An error ocurred performing that action. Please try refreshing the page.

Office 365

Office 365

Teams: Recover deleted team memberships

Katy Nicholson, 27 August, 2021

How to bulk recover deleted team memberships using PowerShell. I had over 8,000 group membership actions to undo and luckily this is possible through examining the Azure AD Audit log export and some PowerShell.

Shift to the Cloud: Moving a school to OneDrive and Teams

Katy Nicholson, 1 March, 2021

I tell the story of how we moved a school from traditional on-premises file storage and e-mail to Office 365, Exchange Online, SharePoint and Teams

Automatically syncing Teams/SharePoint libraries

Katy Nicholson, 9 February, 2021

There's been a Group Policy setting to sync Team/SharePoint libraries for a while although last time I looked at it the functionality didn't actually work yet - I think it was meant to be available from Windows 10 1909 but didn't quite make it. Besides the fact that the setting didn't do anything, all the documentation claimed it could take "up to 8 hours" for the library to appear in the user's sync client/Explorer - clearly this is no use especially if you're in an environment where people hot desk and share machines. I've had another look at it to see if it's any better now, and also demonstrate a method to sync libraries using PowerShell logon scripts.

Automating Teams School Data Sync - iSAMS

Katy Nicholson, 29 August, 2020

I don't like things that can't be automated. I started looking at School Data Sync (SDS) last year, however the templates provided by iSAMS, which is our school Management Information System, just gave a set of CSVs and you had to manually click to get them, then click to upload them into SDS. Since iSAMS has an API, I thought this was a bit of a silly way of doing things - who wants to go through a manual process every time a pupil changes class? So instead I wrote my own powershell to pull the data through the iSAMS API, then run through the New-Team cmdlet to create a team per class, and populate it with teachers and students. As we're a school we need our new teams to be running the Edu_Class template, but the template parameter on New-Team only exists in the preview (and in Graph, on the beta endpoint) where it has much harsher limitations on how often and fast you can call it - a nightmare trying to call it in a loop. Anyway with the addition of "Start-Sleep 30" in the loop I eventually got them all created. However this time I am having another look at SDS and using Power Automate (previously known as Flow) to make the process completely automatic.

Applying Teams Policies to a group

Katy Nicholson, 13 March, 2020

I've recently needed to apply a PolicyPackage to a group of users (well 2 packages to 2 groups) using PowerShell - as the Teams Admin centre only allows you to apply to users by typing in all the names one at a time and pressing Add and discovered the New-CsGroupPolicyAssignment cmdlet, which looks good - however this applies a policy to a group, but I want to apply a policy package.

OneDrive - "The Specified View is Invalid" Error

Katy Nicholson, 10 June, 2019

So I had a user whose OneDrive for Business had stopped working in the browser (but worked OK via the sync client). They were receiving an error 'The Specified View is Invalid'

Office 365 Automated Signature Generator

Katy Nicholson, 9 June, 2018

I've been looking for a while at a way to automate email signatures for everybody using OWA on Office 365. The new layout we want for our signatures includes images and everywhere I've read says it's impossible to embed images in a signature set using PowerShell. (Note I want them embedded rather than hotlinked). The solution I came up with takes details from the Active Directory user account - I'm using the description field to insert the person's name (to allow things like "Mrs Blah" rather than just outputting firstname surname), fields like title (job title), telephone, mobile and also using a few of the extensionAttributes for the Twitter/Facebook links. All of these are standard fields so no need to mess with the AD schema.

Support My Work

I hope you find my content useful. Please consider tipping to support the running costs of hosting, licensing etc on my Ko-fi page.

Support me on Ko-fi


Microsoft Most Valuable Professional Award