Here is a simple script to indent add new lines to a PowerShell query.
$ldap = "(&(&(objectCategory=person)(objectClass=user))(lastLogonTimestamp<=128752108510000000)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"
$ldap = $ldap -replace '\(([\&\|\!]+)', "(`$1`n"
$ldap = $ldap.replace(')', ")`n")
$lines = $ldap.split("`n")
$indent = 0
$new_lines = ForEach ($line in $lines) {
if ($line -eq ")") {
$indent--
}
("`t" * $indent) + $line
if ($line -eq "(&" -or $line -eq "(|" -or $line -eq "(!") {
$indent++
}
}
$new_lines
Results in a nicely formatted query:
(&
(&
(objectCategory=person)
(objectClass=user)
)
(lastLogonTimestamp<=128752108510000000)
(!
(userAccountControl:1.2.840.113556.1.4.803:=2)
)
)