Microsoft

What is Modern Collaboration, and how does it impact business?

Modern Collaboration, Collaboration Transformation, Technology Revolution, Technology Transformation; I’m sure you have heard one or more of these terms before. They are very common to talk about in Enterprise IT, even Microsoft’s marketing hits on the Modern Collaboration term quite heavily with their cloud offerings.

You are probably wondering, what does this all mean? How does it affect my business, and how do I get started!? Modern Collaboration is a term that Microsoft has coined for its cloud-first products to drive productivity for knowledge workers. The focus is to shift production from a workplace to a workspace.

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.

How to check Exchange Online Distribution List activity over 30, 60, 90+ days?

All growing and/or large organizations will experience this. We have all of these Distribution Lists, but does anyone even use them or know why they were created 5, 10, 15 years ago? I recently ran into this at work, where we are trying to figure out if we can safely delete specific Distribution Lists. They have members, but most of the members have no idea they are a member, or why they would even need the email address.

As always, I start my investigation into how to do something with a quick Google Search. I stumbled upon a bunch of articles specific to Exchange on-premises, and a few items on how to see usage in the last 10 days, but nothing more. The next issue with the ones I did find for Exchange Online was only going to handle 1000 email messages, more than that, and you have to add additional parameters to the command and page through the command multiple times for more than 5000.

I knew many of these lists most likely have infrequent usage, if any at all, so 10 days wasn’t going to cut it. My resolution to this problem? Scheduled tasks, and time!

Before you can run this script, you need to make sure you install the Exchange Online Management PowerShell Module. The module is on the PowerShell Gallery.

The script itself is pretty straightforward. It would be best if you had a secure way to store your passwords that the script will use for authenticating to Office 365. My example script will only work in interactive mode, and you need to dig a bit into storing credentials securely. I would recommend checking out David Lee’s post “Using saved credentials securely in PowerShell scripts” for more information.

Connect-ExchangeOnline -UserPrincipalName user@example.com

$date = Get-Date

$fullResults = @()
$i = 1
do{
    $trace = Get-MessageTrace -Status expanded -startdate ($date).AddDays(-10) -EndDate ($date) -PageSize 5000 -Page $i| Group-Object recipientaddress | Select-Object name,count
    $fullResults += $trace
    $i++
} until($null -eq $trace)

$fileName = (Get-Date -Format "yyyy.MM.dd") + "_DLUsage.csv"
$fullResults | Export-Csv "C:\Reports$fileName" -NoTypeInformation

All you need to do is update the script to use a securely stored credential and set a scheduled task to run at the same time every 10 days. After however long you want to look at historical data, you import to an Excel spreadsheet and compare!

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.

Getting things done while working from home using Microsoft To Do!

At the beginning of the COVID-19 pandemic, heck before the World Health Organization declared a pandemic. I started working 100% from home; this was primarily due to my being a high-risk individual to the symptoms posed by COVID-19. I had worked from home a day or two in a row here and there, but now I was looking at weeks, months, who knew working from home.

After the first week, I noticed that I was struggling to find what to focus on; I had the attention span of a squirrel while I was in my home office. There were a lot of delayed, ‘back-burner’ items at work, but nothing super pressing at that time (don’t worry, that has changed!) I then also had a TON of things I needed to get done around the house I had severely neglected. I knew I couldn’t work on the house ethically when I should be getting work done, so I felt like my wheels were spinning in the mud.