AWS Workspaces – Clean up orphaned Managed AD objects

If you manage a large number of AWS workspaces, chances are you will end up with orphaned computer AD objects cluttering up your domain. This script pulls a list of workspaces, compares it to the list of machines in AWS managed AD and removes any AD computer object without a corresponding workspace. This script requires …

Read moreAWS Workspaces – Clean up orphaned Managed AD objects

Bulk add devices to Azure AD Group

A simple script, which takes a list of device names in a text file and adds them to the specified Azure AD group. Requires the AzureAD PowerShell module, the script will check for its existence and offer to install it if it is not found. This script can cope with MFA for Azure AD admins. …

Read moreBulk add devices to Azure AD Group

O365 Shared Mailbox sent items

By default, when “sending as” a shared mailbox, the sent items go into the users sent items folder. Unfortunately, it is not possible to change this to be the shared mailbox, but it is possible to put a copy in the shared mailbox’s sent items folder. The below script will enable this for all shared …

Read moreO365 Shared Mailbox sent items

O365 Shared Mailboxes – sent items go into users folder

The default behaviour for items sent from a shared mailbox is to go into the users sent items. We had a requirement to save a copy in the shared mailbox sent items folder. this script modifies the mailbox so that email sent either “on behalf” or “as” the mailbox get copied into the shared mailbox’s …

Read moreO365 Shared Mailboxes – sent items go into users folder

AWS Workspaces – Count of machine state

Just a quick 1 liner of powershell to work this one out: get-wksworkspace | Group-Object state | Select-Object name,count | Sort state -Descending Which will give you something like: Name Count —- —– AVAILABLE     279 UNHEALTHY  30 PENDING       72 REBOOTING 2 ERROR          3 Amazon Auto Links: No products …

Read moreAWS Workspaces – Count of machine state

Removing Always On VPN Tunnels

Recently, we were in a situation where we needed to remove some left over Always-on VPN user tunnels from a lot of Windows 10 machines. (We had duplicate profiles, and this was a tidy up exercise) The following scripts address this issue, it gets a list of all the VPN connections and then removes all …

Read moreRemoving Always On VPN Tunnels

Show meeting details for an Office 365 Room calendar

The default behavior in Office 365 is to only show meetings in room calendars as ‘busy’ – sometimes you want people to be able to see the details. This is easily changed through a couple of lines of PowerShell. This is caused by the permissions on the ‘default’ user. Let’s look at the permissions – …

Read moreShow meeting details for an Office 365 Room calendar

Windows Client log management

One of our clients recently asked us to locally archive windows logs for 90 days – they didn’t want the expense of a log aggregator such as Logrhythm. The requirement was to retain 90 days of security and application logs (although you can expand the script to include others) in a compressed folder with restricted …

Read moreWindows Client log management

Unlicense Disabled Office 365 Users

We have a constant churn of staff, as does any large organisation. One of the challenges is to ensure that anyone who has left has their account disabled in AD. All good, we have that process. We also use Azure AD Sync to sync users to our Office 365 tenant. Disabling a user however, does …

Read moreUnlicense Disabled Office 365 Users

Force SCCM Client to perform an inventory

Recently we needed a quick solution to remotely force SCCM clients to perform a Hardware/Software inventory. I found some code here that I have modified slightly to wrap it in a GUI (Our Config manager doesn’t like command line!) As you can see, you have a range of options, and it is simply a case of entering …

Read moreForce SCCM Client to perform an inventory