Examples/Get-InactiveADUsers.ps1

#Requires -Modules @{ModuleName="PS2HTMLTable";ModuleVersion="1.0.0.0"}

[CmdletBinding()]
param (
    [switch]$SendEmail,
    [string]$FromAddress = "First.Last@domain.com",
    [string]$RecipientAddress = "recipient@domain.com",
    [string]$SMTPServer = "",
    [uint16]$PasswordAge = 90,
    [uint16]$LastLogonAge = 14
)

begin {
    Import-Module ActiveDirectory
    function ConvertTo-UserObject ($User) {
        if ($null -eq $_.LastLogonDate -or $_.LastLogonDate -le (Get-Date).AddDays($LastLogonAge * -1).Date) {

            [PSCustomObject]@{
                "User"          =   "$($_.Name) ($($User.SamAccountName))"
                "Department"    =   $User.Department
                "Title"         =   $User.Title
                "Description"   =   $User.Description
                "Manager"       =   if ($PSVersionTable.PSVersion.Major -gt 5) {
                                        (($null -eq $User.Manager) ? "" : (Get-ADUser -Identity $_.Manager).Name