Disclaimer

You will not hold me responsible for any inconvenience, incompatibility, damage, or lack of satisfaction that you experience by undertaking any or all of the steps mentioned in this blog.

Although I have a positive personal experience with everything I have written here, I cannot guarantee the same results for you, whether due to inadvertent actions, hardware,software, or any other issues.

I shall not be liable in any event of any damages, incidental or consequential in connection with or arising out of the advice, scripts or suggestions provided by me.

Only use the scripts that you find online once you fully understand what they are doing and if you have questions or want advice please contact me and I will try and help. Any advice provided will be bound by the same terms above.

Auditing: Report and Disable Inactive AD User Accounts

The below can be run as a scheduled task to detect and disable accounts that have not been used for a specified amount of days or for accounts which have never been used.

Report outputs to a CSV and is displayed as follows:

https://github.com/roggyuk/PS-ADUDisableReport

Auditing: Reset Passwords That Expire Today

The below can be run as a scheduled task to detect Active Directory User accounts that have passwords that expire today. Any objects where the password is due to expire today will automatically have the “Change password at next logon” ticked meaning that they wont suddenly lose connection to things such as mapped drives at the original expiry time.

Credit to Andrew Lyonette for turning my “Why dont you solve it like this” in to the script below.
https://www.linkedin.com/in/andylyonette/

Auditing: Report and Disable Inactive AD Computer Accounts

The below can be run as a scheduled task to detect and disable accounts that have not been used for a specified amount of days or for accounts which have never been used.

Report outputs to a CSV and is displayed as follows:

Auditing: Audit AD Groups

This script will perform AD group member auditing by fetching all AD Groups and their members and then email the owner of that group a list to be checked to ensure they are still correct.

It utalises the Description field for the group name e.g Sales File Share or Sales Distribution Group and the MangedBy property to then fetch the owners name and email address from the Mail field of the user.

For any group that does not have a ManagedBy user a separate email will be sent to an address of your choosing stating that there is no owner and to check the members and find an appropriate owner.

Function: Get AD User Password Expiry Date/Time

Function written to obtain a users password expiry date and time in a friendly format.

GUI: System Information Collector

GUI System Information Collector uses WMI to obtain a variety of system information where it may not be possible to use WINRM and CIM.

Download:

Contact me if you would like a copy of the latest version.

GUI: Password Generator

A simple password generator to get away from people using CompanyNameYear formats and variations of Password – This is by no means meant to be a super secure way of generating passwords and I am aware of the inherent risks of using get random. This is simply a way to generate a password for an end user that will be awkward enough that they change it immediately whilst getting away from people setting password2017! and similar.

Download Here:

PasswordGenerator

Prerequisites:

.NET 4.5
WMF 5.1