Я хочу подключиться к системе входа пользователя домена и создать свой собственный локальный профиль. У меня есть два основных связанных вопроса:
Целевые платформы- Windows 7 Enterprise, Professional, Home Premium (необязательно)
Я не против использования Active Directory, но я бы предпочел использовать программное обеспечение Linux (Samba 4?), Потому что все мои серверы будут работать под управлением Linux. Это относительно не связано, потому что мне просто нужна документация или даже то, что искать в Google.
РЕДАКТИРОВАТЬ: я нашел это ссылка на сайт на веб-странице Microsoft msdn.
Я также нашел этот чтобы быть действительно полезным в начале настройки GINA.
Нужна ли мне специальная программа для создания пакета аутентификации? Могу ли я получить доступ к веб-ресурсу или сетевому ресурсу из этого сценария для проверки учетных данных?
В этом случае вы могли бы создать службу Windows, работающую с привилегиями LocalSystem, и связаться с ней со своим поставщиком учетных данных.
Когда пользователь вводит свои учетные данные в ICredentialsProvider, он свяжется со службой Windows, и служба выполнит аутентификацию.
После успешной аутентификации служба должна проверить, что такая учетная запись присутствует в системе локально, в противном случае создайте новую локальную учетную запись с NetUserAdd и войдите с этой учетной записью в систему.
Имейте в виду, что ICredentialsProvider не имеет прав на создание локальной учетной записи или использование большинства функций Net *, поэтому я предлагаю создать службу Windows с привилегиями LocalSystem.
Если вы просто хотите внести небольшое количество изменений в профили, вы можете рассмотреть возможность использования Active Setup.
После того, как вы настроите это на машине, он запустится сразу после загрузки профиля пользователя, и вы сможете вносить индивидуальные изменения в их файлы / настройки и т. Д.
Я знаю, что в большинстве мест, где требуется вводить информацию в новые профили пользователей, это достигается каким-то образом изменением профиля пользователя по умолчанию. Этот профиль импортируется во все новые профили, как и /etc/skel
делает в системах Unix. Это по необходимости глупый процесс, поэтому запуск пользовательских сценариев как части копии профиля на самом деле невозможен, если не считать сценариев запуска одного при входе в систему, закодированных в Default User.
Это не полный ответ, но я считаю, что это существенное дополнение к решению.
В системах на базе Windows NT до Windows Vista Microsoft использовала нечто, называемое GINA (графический интерфейс и аутентификация), для выполнения большей части аутентификации верхнего уровня для входа пользователей, но также использовала нечто, называемое WinLogin, для вещей нижнего уровня. С помощью GINA программист может создать настраиваемый пользовательский интерфейс и серверную часть аутентификации для WinLogin, а WinLogin будет вызывать методы, необходимые для обработки входа в систему. Но, как и все остальное, с Vista все изменилось.
В Vista Microsoft предоставила интерфейс под названием ICredentialProvider который позволяет пользователю зарегистрировать поставщика учетных данных. Вот - это статья о том, почему была исключена GINA, которая также дает довольно хорошее введение в новую систему.
Поскольку это оказалось больше основанным на программировании, чем на ИТ, я продолжу и создам вопрос в StackOverflow о специфике реализации этого. Вряд ли нужно какое-то специальное программное обеспечение.
Второй вопрос остается в силе. Я продолжу поиски ответа на вопрос, смогу ли я справиться с созданием собственного профиля. Я думаю, что это должно быть возможно, но я не уверен.