public/Get-ADGroupImproved.ps1
function Get-ADGroupImproved { param ( [Parameter( ValueFromPipeline=$true, Position=0)] [string] $Identity, [string] $SearchString, [System.Management.Automation.PSCredential] $Credential, [string] $Filter, [string] $SearchBase, $Properties, [string] $Server ) begin { ## Import prereq module Import-Module ActiveDirectory } process { ## Set Default -Properties $defaultproperties = "CanonicalName","WhenCreated","Modified","Description" ## Create Splat Table based on inputs $userparams = @{ Server = $Server } if ($Identity){ $userparams.Identity = $Identity } if ($Credential){ $userparams.Credential = $Credential } if ($Filter){ $userparams.Filter = $Filter } if ($SearchString){ $userparams.Filter = {anr -like $SearchString} } if ($SearchBase){ $userparams.SearchBase = $SearchBase } if ($Properties){ $userparams.Properties = $Properties + $defaultproperties } else { $userparams.Properties = $defaultproperties } ## Execute Get-ADGroup @userparams } }#end function |