Сброс просроченного пароля в сеансе Windows RDS

У меня есть решение RDS для одного из наших клиентов. Существует коллекция сеансов, обслуживающая рабочие столы через шлюз удаленных рабочих столов, и несколько хост-серверов сеансов; вся нагрузка сбалансирована и т. д. Это работает с точки зрения подключения пользователей и производительности.

Мы установили для пользователей параметр «пароль никогда не истекает», пока система была встроена, однако, Теперь мы подошли к моменту, когда нам нужно принудительно применить политику паролей. Мы решили заставить всех пользователей изменить свои пароли при следующем входе в систему, поскольку мы выпустили «простые» пароли для плавного перехода. Это было сделано просто путем установки флажка «пользователь должен сменить пароль при следующем входе в систему» ​​в AD в свойствах пользователей, однако вместо того, чтобы запрашивать новый пароль у пользователей при следующем входе в систему, вход в систему был немедленно отклонен.

Я попытался еще раз, чтобы убедиться, что я не ввел неправильный пароль, но, конечно же, мой логин отклонен с ошибкой «Попытка входа в систему не удалась». Я возвращаюсь в AD и снимаю флажок «пользователь должен сменить пароль при следующем входе в систему», и я могу снова войти в систему без проблем.

После входа в систему, если я нажму CTRL, ALT и END и выберу «изменить» пароль '. Похоже, это позволит мне изменить пароль - он запрашивает старый, новый и подтверждает пароль, но независимо от того, что я использую, он говорит: «Невозможно обновить пароль. Значение, указанное для нового пароля, не соответствует требованиям домена к длине, сложности или истории ». Я использовал случайно сгенерированные 24-символьные пароли с прописными и строчными буквами, цифрами и символами ... нет никакого способа, чтобы он не соответствовал правилам сложности 2012 года по умолчанию.

Итак, у меня два вопроса ...

  • Почему установка этой опции в AD приводит к отказу пользователя в входе в систему?

  • Как я могу разрешить / заставить моих пользователей изменять свои пароли?

2
задан 8 January 2018 в 15:47
2 ответа

Если вы используете аутентификацию на уровне сети в сочетании с RDP (который вы следует, потому что это более безопасный вариант), то вы не можете подключиться, если срок действия вашего пароля истек. Это означает, что вы не можете подключиться, чтобы изменить свой пароль , потому что вы не можете подключиться с просроченным паролем. Это считается конструктивным решением, поскольку в базовом протоколе CredSSP нет такой функции.

Вам придется предоставить пользователям другие средства для изменения их паролей с истекшим сроком действия, например портал самообслуживания для сброса паролей. (Например, Forefront Identity Manager.)

Что касается несоблюдения требований к сложности пароля, я предполагаю, что вы сталкиваетесь с другим препятствием в политике паролей, о котором редко упоминают - минимальным возрастом пароля. Если пароль был изменен недавно, вы не можете изменить его снова, пока не пройдет определенное время.

3
ответ дан 3 December 2019 в 10:34

Оболочка может делать это косвенно с помощью модификаторов переменных % , %% , # и ## . Они удаляют завершающее или ведущее совпадение для данного шаблона. Обратите внимание, что шаблон - это оболочка glob , а не регулярное выражение.

В следующем примере будут напечатаны два последних элемента пути с дополнительным завершающим элементом /

$ in="Android/2/Pipeline/Packages/test/debug/"
$ echo $( t=${in%/} && t=${t%/*/*} && echo ${in##$t} )
/test/debug/
-121 --- 402775 или без него. -

Пароли для удаленных пользователей можно изменить с помощью роли веб-доступа к удаленным рабочим столам , которая описана в этом ответе , где также есть решение для уведомления пользователей ожидающего истечения срока действия пароля.

(я вижу, вы отметили RDWeb, поэтому я надеюсь, что вы сможете использовать это решение).

И когда используется NLA , вы не можете войти в систему или измените пароль через RDP , как уже было описано.

0
ответ дан 3 December 2019 в 10:34

Теги

Похожие вопросы