Я только что реализовал BackInfo на наших серверах, развернутый через GPO. Все работает по назначению, пока пользователи и администраторы входят в систему и выходят из нее.
Проблемы возникают, когда пользователь отключает и повторно подключает сеанс RDP. Я не знаю, помещается ли это BackInfo на заднюю часть фактических обоев при повторном подключении, или обои каким-то образом удерживаются только в этом активном сеансе.
Поскольку сеанса входа в систему нет, элементы под HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
не выполняется, поэтому BackInfo.exe не запускается при повторном подключении.
Погуглить по этой теме - ад, почти все, что я нашел, это политики сопоставления дисков, так как я включил поисковый запрос «переподключить». Однако я наткнулся на решение от VMware через VDM_Agent. «К сожалению» мы используем Hyper-V, поэтому решение не нацелено на нас.
Возможным решением было бы завершить сеанс RDP за небольшой промежуток времени, но я бы хотел, чтобы мои пользователи могли отключиться, поскольку это функция, в которую они давно влюблены.
Возможно, кто-то был в такой же ситуации, когда ему приходилось запускать программу при повторном подключении сеанса RDP.
Да ... Я был в такой же ситуации. Я закончил тем, что написал службу Windows, которая будет проверять отключенные сеансы с помощью API, представленного в wtsapi32.dll, а затем для каждого отключенного сеанса, если процесс, который я хотел, не выполнялся в этом сеансе, я бы использовал токен этого человека ( который я могу украсть, не зная пароля этого человека (причина, по которой отключенные сеансы нежелательны с точки зрения безопасности), чтобы запустить процесс от имени этого пользователя на своем рабочем столе с помощью CreateProcessAsUser. Таким образом, когда пользователь повторно подключился к своему отключенному сеансу, нужная программа будет запускаться на рабочем столе пользователя всякий раз, когда он снова подключается.