# encoding: ascii
# api: powershell
# title: Test-QADObject
# description: Check if the AD object/path exists. Accepts DN, SID, GUID, UPN, samAccountName, Name or Domain\Name. Returns $true or $false.
# version: 0.1
# type: script
# author: Dmitry Sotnikov
# license: CC0
# function: Test-QADObject
# x-poshcode-id: 1717
# x-archived: 2016-03-25T09:38:27
# x-published: 2010-03-22T08:28:00
#
# Requires Quest AD cmdlets which are a free download from http://www.quest.com/activeroles-server/arms.aspx.
# (c) Dmitry Sotnikov, http://dmitrysotnikov.wordpress.com
#
<#
.SYNOPSIS
Quick way to see whether the object exists in AD.
.DESCRIPTION
Returns $true if at least one object matching the criteria exists and false otherwise.
.PARAMETER Identity
Specify the DN, SID, GUID, UPN or Domain\Name of the directory object you want to find
.EXAMPLE
PS C:\> Test-QADObject dsotniko
.EXAMPLE
PS C:\> Test-QADObject 5ae7197e-cac3-42bf-9541-e06fa33ed965
.EXAMPLE
PS C:\> Test-QADObject 'OU=demo,DC=quest,DC=local'
.INPUTS
System.String,System.String[]
.OUTPUTS
System.Boolean
.NOTES
(c) Dmitry Sotnikov, http://dmitrysotnikov.wordpress.com
Requires Quest AD cmdlets which are a free download from
http://www.quest.com/activeroles-server/arms.aspx
.LINK
Get-QADObject
#>
function Test-QADObject {
[CmdletBinding()]
param(
[Parameter(Position=0, Mandatory=$true)]
[System.String]
$Identity
)
(Get-QADObject $Identity -DontUseDefaultIncludedProperties `
-WarningAction SilentlyContinue -ErrorAction SilentlyContinue `
-SizeLimit 1) -ne $null
}
Set-Alias -Name Test-QADPath -Value Test-QADObject