WhoAmI for Office 365

If you’ve ever struggled to find out who your current session is logged in as when you connected to Office 365, here’s a tidbit to shed some light on it: (Get-PSSession |?{$_.ComputerName -like “*outlook.com”})[0].RunSpace.ConnectionInfo.Credential.UserName You can also use RunSpace.OriginalConnectionInfo.Credential.UserName.  The SDK says ConnectionInfo vs OriginalConnectionInfo: ConnectionInfo – Connection information for remote Runspaces, null for local Runspaces OriginalConnectionInfo – ConnectionInfo…

0

Calculating your Daily Export for the Security & Compliance Center

One of the lesser-known boundaries of Office 365’s Security & Compliance Center is that we only allow 2TB per day export volume.  When we talk about exports, we’re talking about the idea of taking content that has been identified via a content search mechanism (content search, eDiscovery case search, etc) and then staged for download. After the…

0

Export User GAL Entries from Outlook

This morning, looking for an answer to something, I stumbled across a question that seemed easy enough to fix: Is it possible to export the GAL from Outlook if I don’t have access to a server? Yes, yes it is.  Since we have the Power of Grayskul–err, PowerShell, at our disposal, we can manipulate Outlook…

0

Update to Forwarding Address Export Import Tool

Every now and then, I get a ahead of myself. I’ve updated a typo in the script on the gallery, a vestige of when I updated the script to use server-side filtering.  The bug revealed itself when you did not use the -Domain parameter. Doh! Shout out to ITPro-Tips for letting me know! The updated version…

0

Getting Around the Basics of Azure Automation for Office 365

One of the the things that we’ve learned about the cloud over the past few years is that you still need an environment (a utility server, an app server, a something) to run batch jobs and custom scripts against your environments.  You may have an on-premises script task for moving and rebalancing mailboxes, updating group…

0

Generate a list of mailboxes whose litigation hold duration is less than a week away

While many people use Office 365 retention policies as part of their data governance strategy, there are many customers who either do not enforce retention or do so only for items under some sort of litigation hold. In the olden days, when storage was at a premium, it was much more common to handle things…

0

Update to the WipeExchangeOnlineMailbox tool

Who knew you’d need an update to a tool meant to delete things? After working with a partner today and an out-of-control email application spamming user mailboxes, we decided an update was necessary.  Outlook became unusable with several hundred thousand messages in Deleted Items.  What to do, what to do, WHAT TO DO? Fortunately, where…

0

Update to the Get-UserHoldPolicies Tool

A new year, a new update for Get-UserHoldPolicies!  Woo! I stumbled across some additional information today regarding deciphering hold policies for mailboxes while troubleshooting another issue and decided to update my Get-UserHoldPolicies tool to reflect it. The core pieces that I added: Identifying Skype policies (as prefaced by sky in the InPlaceHolds property of a…

0

Searching the Office 365 Unified Audit Log for Specific Activities, Sites, and Users

Last week, I was working with a large government customer in a consolidated tenant (read: all agencies in a single, centrally-managed tenant).  One of the questions that was presented was how to search and filter the audit log for entries relating to the following categories: Files shared by an agency or department’s users Files accessed…

0

Iterating hash values to a log file

While working on my last script, I was trying to figure out the best way to write the values stored in a hash table for the purposes of splatting out to a log file. Consider: $parameters = @{} $parameters.Add(“Parameter1″,”Value1”)$parameters.Add(“Parameter2″,”Value2”)$parameters.Add(“Parameter3″,”Value3”) I was using a modified version of my logging function, which is basically a wrapper for…

0