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 и т.д.). Список доступных для использования атрибутов можно вывести командой:

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

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

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

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

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

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

Можно изменить значения сразу нескольких атрибутов. Например, зададим новый 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).

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

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

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

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

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

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

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

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

Источник

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

Профиль пользователя 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 атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

Механизм

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

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

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

К делу

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

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

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

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

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

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

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

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

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

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

active directory атрибут комната. Смотреть фото active directory атрибут комната. Смотреть картинку active directory атрибут комната. Картинка про active directory атрибут комната. Фото active directory атрибут комната

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *