为什么我不能在功能中使用LDAPFilter?

时间:2019-05-26 19:55:43

标签: .net powershell

我有一个为服务台团队创建的gui。一切正常。我决定创建一个用于解锁用户的功能,因为我们有两个不同的域。这样,我可以根据需要提取用户名和服务器。

使用以下功能时,我正在接收

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")
        }

}

0 个答案:

没有答案