У меня есть графический интерфейс, который я создаю для нашей службы поддержки.Все работает правильно.Я решил создать функцию для разблокировки пользователей, поскольку у нас есть несколько разных доменов.Таким образом, я могу при необходимости ввести имя пользователя и сервер.
При использовании следующей функции я получаю
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")
}
}