0

ここに私のコードがあります: 関数でフィルタ文字列を構築しようとし、それを get-adobject コマンドで使用しますが、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

これはドイツ語のエラー メッセージです。残念ながら

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

ここで何が間違っていますか?私はいくつかの概念を誤解していますか?

4

1 に答える 1

1

これを変更してみてください:

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

$searchName = "name -like $searchName"
于 2013-05-14T14:29:50.473 に答える