У меня есть пользовательская DLL-библиотека фильтра паролей Active Directory.
На контроллере домена с двумя доменами (Windows Server 2012 R2) фильтр паролей иногда получает имена пользователей со знаком доллара ($
).
- Имя учетной записи пользователя:
JSMITH
. - DLL-библиотека фильтра паролей сообщает, что
JSMITH$
изменил свой пароль.
Почему это происходит?
extern "C" __declspec(dllexport) NTSTATUS __stdcall PasswordChangeNotify(
_In_ PUNICODE_STRING UserName,
_In_ ULONG RelativeId,
_In_ PUNICODE_STRING NewPassword
)
{
// Set up process creation arguments
STARTUPINFO startupInformation;
PROCESS_INFORMATION processInformation;
ZeroMemory(&startupInformation, sizeof(startupInformation));
ZeroMemory(&processInformation, sizeof(processInformation));
// Prepare arguments
std::wstring arguments = std::wstring(UserName->Buffer)
+ L" "
+ std::wstring(NewPassword->Buffer);
// ...