Почему я не могу использовать LDAPFilter в функции? - PullRequest
0 голосов
/ 26 мая 2019

У меня есть графический интерфейс, который я создаю для нашей службы поддержки.Все работает правильно.Я решил создать функцию для разблокировки пользователей, поскольку у нас есть несколько разных доменов.Таким образом, я могу при необходимости ввести имя пользователя и сервер.

При использовании следующей функции я получаю

Get-ADUser : The search filter cannot be recognized
At line:200 char:17
+     $Username = Get-ADUser -LDAPFilter "(sAMAccountName=$UsernameToUnlock)"
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-ADUser], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:8254,Microsoft.ActiveDirectory.Management.Commands.GetADUser

Если удалить свойства функциии используйте его на кнопке, он работает нормально.

Обратите внимание, что для целей тестирования я удалил переменную $ Server из функции.Это все еще передается, но не используется.

Идеи?

Function Unlock-ADUser{
    Param([string]$Server,[String]$UsernameToUnlock)

    $Username = Get-ADUser -LDAPFilter "(sAMAccountName=$UsernameToUnlock)"

        If ($Username -eq $Null){
             $ActivityConsole.AppendText($DateTime + ": Unlock failed. Username does not exist on the RxOptions.local domain`r`n")
        }Else{

            $DomainControllers = Get-ADDomainController -Filter * | sort | Select-Object name

            Foreach($DC in $DomainControllers)
             {
                 unlock-adaccount -identity $Username
             } 

            $ActivityConsole.AppendText($DateTime + ": " + $Username + " has been unlocked`r`n")
        }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...