Automation

Pre-load awesome background images for Microsoft Teams Virtual Background using PowerShell

Microsoft Teams officially rolled out Virtual Backgrounds back in March, around the time COVID-19 went crazy in the United States. With COVID-19 came a slew of people working from home, me included.

I spend a considerable chunk of my week on conference calls for work, volunteering, and honesty – just keeping up with friends. After a while, I had to spice up my virtual background with something new. The current implementation of Virtual Backgrounds in Microsoft Teams is limited in user-friendliness to add custom background images.

To add a custom background, you have to save the file to “%AppData%\Microsoft\Teams\Backgrounds\Uploads\” which isn’t bad once you know this. However, getting fresh background images is the problematic part. I love browsing Reddit and finding the beautiful pictures on EarthPorn or SpacePorn subreddits.

I’m a massive fan of automation, so I choose to play around with PowerShell and create a quick script. Luckily, I was able to snag the bulk of my code from u/uspeoples from a comment posted on the PowerShell subreddit.

All you need to do is change lines 2 and 4 to match your preference and run it. The script will automatically throw the images returned from Reddit into the correct directory.

#I also recommend SpacePorn, but any reddits will work.
$subReddit = "EarthPorn"
#You can use hot, new, or top for the filter
$redditFilter = "top"

#Don't change anything below this line
$teamsDirectory = "$env:AppData\Microsoft\Teams\Backgrounds\Uploads\"
$redditData = (invoke-restmethod "http://www.reddit.com/r/$subReddit/$redditFilter/.json").data.children.data.url

foreach($data in $redditData){
    Invoke-WebRequest -Uri $data -OutFile ($teamsDirectory + $data.split('/')[-1])
}

Now, one major caveat when running this, Reddit won’t always have the best pictures; as my girlfriend put it, “They will also get ugly pictures, and it’ll flood their Teams.” With that said, I promised her I would let my readers know that they can navigate to “%AppData%\Microsoft\Teams\Backgrounds\Uploads\” and delete any that they do not like.

Creating and Managing a Backlog using Microsoft 365 Apps

In the last few months, I’ve spent a lot of time organizing and planning. Most of this time was spent on my personal life organization around the house, but contrary to my most recent blog posts, “Getting things done while working from home using Microsoft To Do!” and “Organizing life, while trapped at home during COVID-19.” I have also put a significant focus on organizing tasks at work. 

I want to walk you through how I’ve created a workflow for incoming requests for training videos using Microsoft Forms, automated notifications using Power Automate, into Microsoft Teams, and automated the tracking inside of Microsoft Planner. All of this accomplished with our existing licensing with an Office 365 E3 license.

Using PowerShell with RESTful API’s – BirdDogHR API Module

In the last few months at work, we have been concentrating on integrating different cloud-hosted systems with our on-premise systems. Integration usually means using some ETL Tool to interact with an API, and either use an API with the on-premise application or dumping directly into a Database.

We decided to start automating our Onboarding Processes. The hurdle came up that the ETL Tool isn’t going to trigger Account Creation and other IT related actions. My logical thought was I can interact with an API using PowerShell! I had done this a little bit in the past but nothing significant – so I had a bit of learning to do!