Anduin
Anduin

Reputation: 3

Powershell - Syntax error - pasting string from a function into "-Filter"

Here is my code: I try to build a filter string in a function and us it in and get-adobject command, but I get an syntax error an position 1

function build-filter ([string]$searchName)
{
$searchName = '"' + $searchName + '"'
$searchName = "{name -like " + $searchName + "}"
return [string]$searchName
}

$searchname = "user1"

$filter = build-filter $searchname

Get-ADObject -Filter $filter

This is the Error message, unfortunatelly in German

Get-ADObject : Fehler beim Analysieren der Abfrage: "{name -like "user1"}" Fehlermeldung: "syntax error" an folgender Position: "1". In Zeile:12 Zeichen:1 + Get-ADObject -Filter $filter + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ParserError: (:) [Get-ADObject], ADFilterParsingException + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADFilterParsingEx ception,Microsoft.ActiveDirectory.Management.Commands.GetADObject

what am I doing wrong here? do I missunderstand some concept?

Upvotes: 0

Views: 1223

Answers (1)

CB.
CB.

Reputation: 60910

try changing this:

$searchName = "{name -like " + $searchName + "}"

in

$searchName = "name -like $searchName"

Upvotes: 1

Related Questions