active directory атрибут комната

IT-блоги • Set-ADUser: изменить атрибуты пользователя в Active Directory из PowerShell

Командлет Set-ADUser позволяет изменить значения свойств (атрибутов) пользователя в Active Directory из PowerShell.Традиционно для изменения параметров пользователей AD используется графическая mmc оснастка Active Directory Users and Computers (ADUC). С помощью этой оснастки вы можете отредактировать свойства пользователя или расширенные атрибуты на вкладке Attribute Editor. Однако в консоли ADUC вы не сможете выполнить операцию массового изменения атрибутов у множества пользователя (частично это возможно с помощью сохранённых запросов). В этой статье мы рассмотрим несколько примеров использования командлета Set-ADUser для редактирования свойств пользователей в AD.

Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools

Как изменить свойства пользователя в AD с помощью PowerShell?

У командлета Get-ADUser есть около 50 параметров, привязанных к атрибутам AD (City, Company, Department, Description, EmailAddress, MobilePhone, Organization, UserPrincipalName и т.д.). Список доступных для использования атрибутов можно вывести командой:

Имя пользователя, свойства которого нужно измененить в AD указывается в обязательном параметре Identity (можно указать в виде sAMAccountName, SID, Distinguished Name или objectGUID).

Например, с помощью командлета Get-ADUser получим значение атрибута Title (должность) у пользователя:

Теперь изменим его должность в AD:

set-aduser a.novak –title “Системный администратор”

Можно изменить значения сразу нескольких атрибутов. Например, зададим новый email адрес и список компьютеров, на которые разрешен вход пользователю:

Set-ADUser a.novak –EmailAddress [email protected] –LogonWorkstations ‘msk-PC213,msk-PC165’

Следующая команда отключит учетную запись пользователя в домене:

Значения остальных атрибутов пользователя (в том числе extensionAttribute, и кастомных атрибутов) в AD можно изменить с помощью следующих параметров командлета Get-ADUser:

Например, чтобы изменить телефон пользователя, можно использовать команду:

Добавить новое значение в атрибут extensionAttribute10:

Очистить значение атрибута:

Можно изменить значение сразу нескольких атрибутов:

Также с помощью этих параметров можно изменить значения мульти-строковых атрибутов. Например, добавим пользователю сразу несколько ProxyAddresses:

Массовое изменение атрибутов пользователей в AD

Вы можете изменить атрибуты сразу нескольких пользователей. Например, следующая команда изменит значение атрибута UserAccountControl и заставит всех пользователей из указанной OU изменить пароль при следующем входе:

Можно массово обновить параметры пользователей в AD значениями из CSV файла. Например, у вас есть CSV файл, который содержит список учетных записей, должностей и телефонов (формат файла: SamAccountName, Title, MobilePhone).

Чтобы внести изменения в свойства пользователей из файла, выполните PowerShell команду:

Import-Csv «C:\ps\modifyad_users.csv» | foreach

Как сохранить имя компьютера в свойствах пользователя в AD?

В одной из предыдущих статей мы показывали, как добавить информацию о пользователе в свойства компьютера в AD с помощью командлета Set-ADComputer. Рассмотрим другой подход – попробуем записать в свойства пользователя информацию о том, на каком компьютере он залогинен.

Это позволит вам быстро найти имя компьютера, на котором в данный момент работает пользователь.

Наш сайт является информационным посредником. Сообщить о нарушении авторских прав.

Источник

Атрибуты профиля пользователя

Профиль пользователя Azure Active Directory (Azure AD) B2C поставляется со встроенным набором атрибутов, таких как имя, фамилия, город, почтовый индекс и номер телефона. Вы можете расширить профиль пользователя с помощью собственных данных приложения без использования внешнего хранилища данных.

Большинство атрибутов, которые могут использоваться с профилями пользователей Azure AD B2C, также поддерживаются Microsoft Graph. В этой статье описаны поддерживаемые атрибуты профиля пользователя Azure AD B2C. Здесь также указаны атрибуты, которые не поддерживаются Microsoft Graph, и атрибуты Microsoft Graph, которые не следует использовать с Azure AD B2C.

Не следует использовать встроенные или атрибуты расширения для хранения конфиденциальных персональных данных, таких как учетные данные, идентификационные номера государственных организаций, данные владельцев платежных карт, данные финансовых счетов, сведения медицинского характера или конфиденциальные биографические сведения.

Также поддерживается и интеграция с внешними системами. Например, вы можете использовать Azure AD B2C для проверки подлинности, а доверенным источником данных о пользователях назначить внешнюю систему CRM или базу данных лояльности клиентов. Дополнительные сведения см. в решении, посвященном удаленному профилю.

Ресурс типа «пользователь» в Azure AD

В таблице ниже представлены атрибуты ресурса типа «пользователь», которые поддерживаются профилем пользователя Azure AD B2C Directory. В ней приведены сведения о каждом атрибуте.

)

Имя Тип Описание Портал Azure Маршруты пользователей Настраиваемая политика
AccountEnabled Логическое Указывает на то, включена или отключена ли учетная запись пользователя: true, если учетная запись включена, в противном случае — false. Да нет Persisted, Output
ageGroup Строка Возрастная группа пользователя. Возможные значения: null, Undefined, Minor, Adult, NotAdult. Да нет Persisted, Output
alternativeSecurityId (удостоверения) Строка Единственное удостоверение пользователя от внешнего поставщика удостоверений. нет нет Input, Persisted, Output
alternativeSecurityIds (удостоверения) Альтернативная коллекция securityId Коллекция удостоверений пользователя от внешних поставщиков удостоверений. нет нет Persisted, Output
city Строка Город, в котором находится пользователь. Максимальная длина — 128 символов. Да Да Persisted, Output
consentProvidedForMinor Строка Предоставлено ли согласие для несовершеннолетнего. Допустимые значения: null, granted, denied или notRequired. Да нет Persisted, Output
country Строка Страна или регион, в котором находится пользователь. Пример «США» или «Соединенное Королевство». Максимальная длина — 128 символов. Да Да Persisted, Output
createdDateTime Дата и время Дата создания объекта «пользователь». Только для чтения. нет нет Persisted, Output
creationType Строка Если учетная запись пользователя была создана как локальная учетная запись для клиента Azure Active Directory B2C, то используется значение LocalAccount или nameCoexistence. Только для чтения. нет нет Persisted, Output
dateOfBirth Дата Дата рождения. нет нет Persisted, Output
department Строка Название отдела, в котором работает пользователь. Максимальная длина — 64 символа. Да нет Persisted, Output
displayName Строка Отображаемое имя пользователя. Максимальная длина — 256 символов. Да Да Persisted, Output
facsimileTelephoneNumber 1 Строка Номер телефона факсимильного аппарата пользователя. Да нет Persisted, Output
givenName Строка Имя пользователя. Максимальная длина — 64 символа. Да Да Persisted, Output
jobTitle Строка Название должности пользователя. Максимальная длина — 128 символов. Да Да Persisted, Output
immutableId Строка Идентификатор, который обычно используется для пользователей, перенесенных из локальной службы Active Directory. Нет нет Persisted, Output
legalAgeGroupClassification Строка Юридическая классификация возрастных групп. Только для чтения и вычисляется на основе свойств ageGroup и consentProvidedForMinor. Допустимые значения: NULL, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult и adult. Да нет Persisted, Output
legalCountry 1 Строка Страна или регион для юридических целей. нет нет Persisted, Output
mailNickName Строка Псевдоним почты для пользователя. Максимальная длина — 64 символа. нет нет Persisted, Output
mobile (mobilePhone) Строка Основной номер сотового телефона для пользователя. Максимальная длина — 64 символа. Да нет Persisted, Output
netId Строка Идентификатор сети. нет нет Persisted, Output
objectId Строка Глобальный уникальный идентификатор (GUID), который является уникальным идентификатором пользователя. Пример 12345678-9abc-def0-1234-56789abcde. Только для чтения, неизменяемый. Только для чтения Да Input, Persisted, Output
otherMails Коллекция строк Список других адресов электронной почты этого пользователя. Например: [«bob@contoso.com», «Robert@fabrikam.com»]. Примечание. Символы с диакритическими знаками не допускаются. Да (дополнительный адрес электронной почты) нет Persisted, Output
password Строка Пароль для локальной учетной записи во время создания пользователя. нет нет Persisted
passwordPolicies Строка Политика пароля. Это строка, состоящая из имени другой политики через запятую. Например: «DisablePasswordExpiration, DisableStrongPassword». Нет нет Persisted, Output
physicalDeliveryOfficeName (officeLocation) Строка Расположение офиса в компании пользователя. Максимальная длина — 128 символов. Да нет Persisted, Output
postalCode Строка Почтовый индекс для почтового адреса пользователя. Почтовый индекс зависит от страны или региона пользователя. В США этот атрибут содержит ZIP-код. Максимальная длина — 40 символов. Да нет Persisted, Output
preferredLanguage Строка Предпочитаемый язык для пользователя. Формат предпочитаемого языка основан на стандарте RFC 4646. Имя языка состоит их двухбуквенного кода культуры ISO 639 в нижнем регистре (определяет язык) и двухбуквенного кода субкультуры ISO 3166 в верхнем регистре (определяет страну или регион). Например: en-US или es-ES. Нет нет Persisted, Output
refreshTokensValidFromDateTime (signInSessionsValidFromDateTime) Дата и время Все маркеры обновления, выданные до этого времени, являются недействительными, и приложения будут получать ошибку при использовании недействительного маркера обновления для получения нового маркера доступа. В этом случае приложению потребуется получить новый маркер обновления, выполнив запрос авторизации. Только для чтения. нет нет Выходные данные
signInNames (удостоверения) Строка Уникальное имя для входа пользователя локальной учетной записи любого типа в каталоге. Используйте этот атрибут, чтобы получить пользователя со значением входа без указания типа локальной учетной записи. Нет нет Входные данные
signInNames.userName (удостоверения) Строка Уникальное имя пользователя локальной учетной записи в каталоге. Используйте этот атрибут, чтобы создать или получить пользователя с указанным именем пользователя для входа. Указание этого параметра только лишь в PersistedClaims во время операции исправления приведет к удалению других типов signInNames. Чтобы добавить новый тип signInNames, необходимо также сохранить существующий signInNames. Примечание. В имени пользователя не допускаются символы с диакритическими знаками. Нет нет Input, Persisted, Output
signInNames.phoneNumber (удостоверения) Строка Уникальный номер телефона локальной учетной записи в каталоге. Используйте этот атрибут, чтобы создать или получить пользователя с указанным номером телефона. Указание этого параметра только в PersistedClaims во время операции Patch приведет к удалению других типов signInNames. Чтобы добавить новый тип signInNames, необходимо также сохранить существующий signInNames. нет нет Input, Persisted, Output
signInNames.emailAddress (удостоверения) Строка Уникальный адрес электронной почты локальной учетной записи в каталоге. Используйте этот параметр, чтобы создать или получить пользователя с указанным адресом электронной почты для входа. Указание этого параметра только в PersistedClaims во время операции Patch приведет к удалению других типов signInNames. Чтобы добавить новый тип signInNames, необходимо также сохранить существующий signInNames. нет нет Input, Persisted, Output
state Строка Область или край в адресе пользователя. Максимальная длина — 128 символов. Да Да Persisted, Output
streetAddress Строка Почтовый адрес организации пользователя. Максимальная длина — 1024 символа. Да Да Persisted, Output
strongAuthentication AlternativePhoneNumber 1 Строка Дополнительный номер телефона пользователя для многофакторной проверки подлинности. Да нет Persisted, Output
strongAuthenticationEmailAddress 1 Строка SMTP-адрес для пользователя. Пример: «bob@contoso.com». Этот атрибут используется для входа с помощью политики имени пользователя для хранения адреса электронной почты пользователя. Адрес электронной почты, который затем используется в потоке сброса пароля. В этом атрибуте не допускается использование символов с диакритическими знаками. Да нет Persisted, Output
strongAuthenticationPhoneNumber 2 Строка Основной номер телефона пользователя для многофакторной проверки подлинности. Да нет Persisted, Output
surname Строка Фамилия пользователя. Максимальная длина — 64 символа. Да Да Persisted, Output
telephoneNumber (первая запись businessPhones) Строка Основной номер телефона организации пользователя. Да нет Persisted, Output
userPrincipalName Строка Имя участника-пользователя (UPN) этого пользователя. UPN — это атрибут, который является именем пользователя для входа через Интернет на основе интернет-стандарта RFC 822. Домен должен присутствовать в коллекции подтвержденных доменов клиента. Это свойство является обязательным при создании учетной записи. Неизменяемый. нет нет Input, Persisted, Output
usageLocation Строка Требуется для пользователей, которым будут назначены лицензии в соответствии с юридическим требованием для проверки доступности служб в странах и регионах. Не допускает значения NULL. Двухбуквенный код региона или страны (в соответствии со стандартом ISO 3166). Примеры: «US», «JP» и «GB». Да нет Persisted, Output
userType Строка Значение строки, которое будет использоваться для классификации типов пользователей в вашем каталоге. Значение должно быть «Member». Только для чтения. Только для чтения нет Persisted, Output
userState (externalUserState) 3 Строка Только для учетной записи Azure AD B2B. Указывает, является ли приглашение PendingAcceptance или Accepted. нет нет Persisted, Output
userStateChangedOn (externalUserStateChangeDateTime) 2 Дата и время Показывает метку времени для последних изменений в свойстве UserState. нет нет Persisted, Output

1 Не поддерживается Microsoft Graph
2 Дополнительные сведения см. в статье об атрибуте номера телефона для MFA
3 Не следует использовать с Azure AD B2C

Требуемые атрибуты

Чтобы создать учетную запись пользователя в каталоге Azure AD B2C, укажите следующие необходимые атрибуты:

Удостоверения — укажите по крайней мере один объект (локальную или федеративную учетную запись).

Профиль пароля — если вы создаете локальную учетную запись, укажите профиль пароля.

Атрибут отображаемого имени

Имя displayName отображается для пользователя на портале Azure в разделе управления пользователями, а также передается приложению в маркере доступа Azure AD B2C. Это свойство обязательно.

Атрибут identities

Учетная запись клиента (потребителя, партнера или гражданина) может быть связана с удостоверениями следующих типов.

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

Следующий атрибут identities определяет удостоверение локальной учетной записи с именем для входа, адресом электронной почты в качестве имени для входа и удостоверением социальных сетей.

Для федеративных удостоверений значение issuerAssignedId является уникальным идентификатором пользователя для приложения или учетной записи разработки, как определено поставщиком удостоверений. Настройте политику Azure AD B2C для того же идентификатора приложения, который был ранее назначен поставщиком удостоверения социальных сетей или другим приложением в той же учетной записи разработки.

Свойство профиля пароля

Для локального удостоверения обязательным является атрибут passwordProfile, который содержит пароль пользователя. Атрибут forceChangePasswordNextSignIn указывает, должен ли пользователь сбрасывать пароль при следующем входе в систему. Для обработки принудительного сброса пароля необходимо настроить поток принудительного сброса пароля.

Для федеративного (социального) удостоверения атрибут passwordProfile не требуется.

Атрибут политики паролей

Политика паролей Azure AD B2C (для локальных учетных записей) основывается на политике высокой надежности пароля в Azure Active Directory. В политиках регистрации, входа и сброса пароля Azure AD B2C предусмотрено использование надежного пароля, а срок действия паролей не истекает.

Атрибут номера телефона для многофакторной проверки подлинности

Если для многофакторной проверки подлинности (MFA) задан номер телефона, то он используется для идентификации пользователя. Чтобы добавить, обновить, получить или удалить номер телефона программным способом, используйте метод проверки подлинности с помощью телефона в API MS Graph.

Атрибуты расширения

Каждое приложение, взаимодействующее с пользователями, имеет уникальные требования к сбору информации. Клиент Azure AD B2C поставляется со встроенным набором сведений, хранящихся в свойствах, таких как имя, фамилия и почтовый индекс. С помощью Azure AD B2C можно расширить набор свойств, хранящихся в каждой учетной записи пользователя. Дополнительные сведения см. в статье Добавление атрибутов пользователя и настройка ввода данных пользователем в Azure Active Directory B2C.

При определении атрибута в расширении схемы поддерживаются следующие типы данных:

Источник

Актуализируем учетные данные Active Directory

Многие помнят то чувство, когда компания расширяется до тех размеров, когда рабочих групп недостаточно, и поднимается первый домен Active Directory: «О, уж теперь-то все будет как следует!» Ан нет, домен потихонечку разрастается, создаются новые учетки, блокируются старые, добавляются, удаляются компьютеры, девушки выходят замуж, меняют фамилии и, в конце концов, база данных службы каталогов выглядит, как полный швах. В этом топике мы наладим связь между базой Active Directory и кадровой системой предприятия, а также создадим механизм для поддержания данных сотрудников в AD в актуальном состоянии.

Первым делом, мы опишем требования, которые мы должны предъявить к учетным записям сотрудников. А эти требования мы постараемся прикинуть, исходя из потребностей пользователя. Не секрет, что многие корпоративные системы, использующие аутентификацию через Active Directory, для отображения и в своих админках, и просто в ходе работы зачастую используют разнообразные поля учетных записей AD: это и Sharepoint, и Citrix, и многие-многие другие. В качестве примера такой системы я возьму известный всем MS Outlook, да не полностью, а лишь его адресную книгу, которая черпает свои данные напрямую из Active Directory.

Механизм

Само собой ясно, что для того, чтобы связать персону из кадровой системы и персону из Active Directory, необходимо иметь некий идентификатор, связывающий эти две записи. Обычно таким идентификатором является табельный номер сотрудника, он присваивается при приеме на работу и более никогда не меняется, вместе с тем, я встречался с ситуациями, когда и табельный номер не статичен, в этом случае такой идентификатор следует выдумать.

Сведения о пользователе Active Directory не исчерпываются сведениями, которые можно увидеть в оснастке Active Directory Users and Computers (устоявшееся сокращение ADUC), причем очень далеко не исчерпываются. На самом деле объект пользователя имеет триллион атрибутов, и эти атрибуты даже могут быть добавлены администратором схемы. Например, есть такой атрибут, как carLicense, содержащий информацию о водительском удостоверении, или drink, характеризующий любимый напиток пользователя. В общем, Microsoft в этом смысле предусмотрела многое.

Использовать в моем примере я буду атрибуты employeeID для хранения идентификатора пользователя, и flags, для чего именно, сообщу чуть позже.

К делу

Первым делом следует проставить employeeID, который у нас представляет табельный номер, всем пользователям. Если пользователей мало, то сделать это проще всего через ADSI Edit, если их чуть больше, то можно прикрутить скрипт для прописывания, например вот так. А если пользователей много, расстановку идентификаторов необходимо делегировать, хочется приятный интерфейс и используются дополнительные фенечки, то можно создать вот такую дополнительную вкладку в ADUC:

впрочем, создание такой вкладки это само по себе тема для отдельного топика.

Второе тонкое место в том, что иногда случается так, что для некоторых людей менять следует только некоторые атрибуты. Есть, например, у нас сотрудник, назовем его Кудрымунбеков Садруддин Фатхулларович, но все его называют просто Сан Саныч. А есть генеральный директор, должность которого в кадрах записана не иначе, как Генеральный Директор Открытого Акционерного Общества Дальней Космической Связи «Рога И Копыта», которого в AD лучше бы просто оставить точно со связью, но точно без рогов и копыт. Таким образом, мы видим необходимость в закладывании в логику работы нашего приложения некоторых исключений, а хранить эти исключения мы будем там же, в Active Directory в атрибуте flags. Этот атрибут имеет величину в четыре байта, а значит, устанавливая тот или иной бит в то или иное значение, мы сможем при необходимости запомнить аж 32 исключения. Впрочем, использовать мы все равно будем только шесть.

Переходим к реализации на powershell:

Создадим тестовую среду, абсолютно произвольно присвоим имена учетным записям:

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

Как видим, после выполнения, мы получили хорошие читаемые имена, отличные должности и великолепные наименования компаний:

Конечно, путем неглубокой модификации скрипта, мы можем заполнять пользователю все: от телефонов и адресов до пресловутых любимых напитков, был бы источник. А если скрипт запускать с определенной регулярностью, то мы добиваемся того, что все данные о пользователях будут актуальны.

upd Подправил маленькую ошибочку, перенес обнуление флажков во внутрь цикла

Источник

Читайте также:  жк измайловский аренда квартир
Обучающий онлайн портал