
Here’s another very useful script which simply lists all of your users in Active Directory, sorted by when their passwords were last changed. Great for checking if your password policies are actually being enforced… Import-Module ActiveDirectory #This may be done automatically when issuing the next line Get-ADUser –Filter * -Properties PasswordLastSet, PasswordNeverExpires | Sort PasswordLastSet…
Have a look at my latest guest post on Netwrix: http://blog.netwrix.com/2016/08/09/five-free-exchange-security-tools-you-probably-do-not-know-about/
Exchange is a very powerful piece of software. Unfortunately, misconfigurations, shared mailbox access, rogue admins and more can allow sensitive data to be viewed or deleted. I experienced this a few weeks ago where a member of a shared mailbox was deleting emails that needed dealing with! Let’s have a look at how to track…
Today I had to try and find a virtual machine given its MAC address on a non-clustered Hyper-V environment. Here’s a quick PowerShell script to do just that! import-module hyper-v $Servers = @(“server1”,“server2”,“etc”) $results = @() foreach ($hvs in $Servers) { Get-VM –Computername $hvs | Get-VMNetworkAdapter | select VMName, MACAddress ,ComputerName | foreach-object { $out…
Recently I was in a situation where I needed to demonstrate an Android App to a client, but didn’t have an Android device with me. I did however, have a Windows tablet with an internet connection to my development machine which does have an Android device, albeit a virtual one! Here’s how I set it…
Hyper-V is amazing – you can do pretty much anything with a VM when it’s online now – even move it to an entirely new host with no shared anything. Apart from change the amount of memory in the VM! (Yes, I know about dynamic memory – still don’t like it. I’ve had too many…
Shadow Copies can be a lifesaver – when used correctly. They are not a replacement for backups, but can sometimes stop you reaching for that backup tape stored in the depths of the IT office (yes, in that cupboard!). I recently had a user who managed to delete an entire folder from a shared area…
I had an example over the weekend whereby I needed to run a PowerShell command at a certain time due to a maintenance window. Rather than using task scheduler, as this was a one-off, I decided to use PowerShell to achieve this. Unfortunately, PowerShell does not natively have a ‘wait-until time’ cmdlet, so here’s the…
Sometimes you just want to see how much free memory is on each of your cluster nodes. Here’s a quick powershell line to report that back:

A brief history A while back I wanted a way to show our users how many people were logged in to each host in our Remote Desktop cluster. After many hours of research and a few of development, I came up with ‘RDStat’ – a simple program that ran quser.exe on a regular interval and…