Почему переменные не работают с Get-Aduser в PowerShell?

Ищу небольшое объяснение, почему это не работает и что я делаю неправильно. Любая помощь была бы замечательной!

Ожидаемые результаты:BSMITH

Get-Aduser -filter {(givenname -eq "Bob") -and (surname -eq "Smith"))} | select-object SamAccountName

Результат:BSMITH

Работает отлично. Хорошо пойти


Ожидаемый результат:BSMITH

      $textbox_FirstName = "Bob"
$textbox_LastName = "Smith"

Get-Aduser -filter {(givenname -eq "$textbox_FirstName.text") -and (surname -eq "$textbox_LastName.text")} | select-object SamAccountName

Результат: (ничего не пусто)

я пытался без кавычек, без .text, без кавычек вообще. По-прежнему нет результатов :(

1 ответ

Решение

Обе переменные имеют тип string у них нет свойства, кроме того, добавление двойных кавычек к вашей переменной расширит переменную и объединит .text:

      $textbox_FirstName = "Bob"
"$textbox_FirstName.Text" => Bob.Text

Любой из этих вариантов должен дать вам ожидаемый результат:

      Get-Aduser -Filter {GivenName -eq $textbox_FirstName -and Surname -eq $textbox_LastName}
      Get-Aduser -Filter "GivenName -eq '$textbox_FirstName' -and Surname -eq '$textbox_LastName'"
      Get-Aduser -LDAPFilter "(&(GivenName=$textbox_FirstName)(Surname=$textbox_LastName))"
Другие вопросы по тегам