Поделиться через


Написание выражений для сопоставлений атрибутов в идентификаторе Microsoft Entra

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

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

В следующем документе будут рассмотрены выражения, похожие на скрипт, которые используются для преобразования данных. Это только часть процесса. Затем вам нужно будет использовать это выражение и поместить его в веб-запрос клиенту. Дополнительные сведения см. в статье о преобразованиях.

Общие сведения о синтаксисе

Синтаксис выражений для сопоставления атрибутов напоминает функции Visual Basic для приложений (VBA).

  • Все выражение должно быть определено с точки зрения функций, которые состоят из имени, за которым следует аргументы в скобках:
    FunctionName(<<argument 1>>,<<argument N>>)

  • Функции можно вкладывать одну в другую. Например:
    FunctionOne(FunctionTwo(<<argument1>>))

  • В функцию можно передавать следующие три типа аргументов.

    1. Атрибуты, которые должны быть заключены в квадратные скобки. Например: [имя_атрибута].
    2. Строковые константы, которые должны быть заключены в двойные кавычки. Например: "США".
    3. Другие функции. Например: FunctionOne(<<argument1>>, FunctionTwo(<<argument2>>))
  • Если в строковых константах необходимо использовать обратную косую черту (\) или кавычки (""), такие символы следует экранировать обратной косой чертой (\). Например: "Company name: \"Contoso\""

Список функций

Список функций Description
Добавить Получает исходное строковое значение и присоединяет к его концу суффикс.
BitAnd Функция BitAnd задает конкретное значение для битов.
CBool Функция CBool возвращает логическое значение на основе вычисленного выражения.
ConvertFromBase64 Функция ConvertFromBase64 преобразует значение в кодировке Base64 в обычную строку.
ConvertToBase64 Функция ConvertToBase64 преобразует строку в строку Юникода в кодировке base64.
ConvertToUTF8Hex Функция ConvertToUTF8Hex преобразует значение в шестнадцатеричной кодировке UTF8.
Численность Функция Count возвращает количество элементов в атрибуте с несколькими значениями.
CStr Функция CStr преобразует данные в строковый тип данных.
DateFromNum Функция DateFromNum преобразует значение даты в формате AD в тип DateTime.
DNComponent Функция DNComponent возвращает значение указанного компонента различающегося имени начиная с левого края.
Ошибка Функция Error используется для возвращения пользовательских ошибок.
FormatDateTime Преобразовывает строку даты из одного формата в другой.
GUID Функция Guid создает случайный идентификатор GUID.
IIF Функция IIF возвращает одно из набора возможных значений на основе заданного условия.
InStr Функция InStr находит первое вхождение подстроки в строке.
IsNull Функция IsNull возвращает значение True, если выражение принимает значение NULL.
IsNullOrEmpty Функция IsNullOrEmpty возвращает значение True, если выражение имеет значение NULL или является пустой строкой.
IsPresent Функция IsPresent возвращает значение True, если результат выражения — строка, которая не имеет значение NULL и не является пустой.
IsString Функция IsString возвращает значение True, если выражение может принимать значение строкового типа.
Позиция Функция Item возвращает один элемент из строки или атрибута с несколькими значениями.
Присоединение Функция Join() схожа с функцией Append() за исключением того, что она может объединять несколько строковых значений source в одну строку. При этом каждое значение разделяется строкой separator.
Left Функция Left возвращает указанное количество символов из левой части строки.
Mid Возвращает подстроку исходного значения. Подстрокой является строка, содержащая только некоторые символы из исходной строки.
NormalizeDiacritics Требуется один строковый аргумент. Возвращает строку, в которой все символы с диакритическими знаками заменены эквивалентами без диакритических знаков.
Not Обращает логическое значение source. Если значение source равно True, возвращается значение False. В противном случае возвращает значениеTrue.
RemoveDuplicates Функция RemoveDuplicates принимает строку с несколькими значениями и проверяет, чтобы каждое значение было уникальным.
Replace Заменяет значения в пределах строки.
SelectUniqueValue Требуется как минимум два аргумента, которые являются правилами формирования уникальных значений, определенными с помощью выражений. Функция вычисляет каждое правило, а затем проверяет сформированное значение на уникальность в целевом приложении/каталоге.
SingleAppRoleAssignment Возвращает один объект appRoleAssignment из списка всех объектов appRoleAssignment, назначенных пользователю для заданного приложения.
Разделение Разделяет строку на многозначный массив с помощью определенного символа разделителя.
StringFromSID Функция StringFromSid преобразует массив байтов с идентификатором безопасности в строку.
StripSpaces Удаляет все пробелы (« ») из исходной строки.
Switch Если значение source соответствует key, возвращается value для этого параметра key.
ToLower Принимает строковое значение source и преобразует его в нижний регистр, используя указанные правила языка и региональных параметров.
ToUpper Принимает строковое значение источника и преобразует его в верхний регистр, используя указанные правила языка и региональных параметров.
Trim Функция Trim удаляет пробелы в начале и конце строки.
Word Функция Word возвращает слово, содержащееся внутри строки, в зависимости от параметров, описывающих разделители и количество слов для возврата.

Добавление

Функция:
Append(source, suffix)

Описание.
Получает исходное строковое значение и присоединяет к его концу суффикс.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Как правило, имя атрибута из исходного объекта.
suffix Обязательное поле Строка Строка, которую необходимо присоединить к концу исходного значения.

BitAnd

Описание.
Функция BitAnd задает конкретное значение для битов.

Синтаксис
num BitAnd(num value1, num value2)

  • value1, value2: числовые значения, которые должны быть соединены оператором AND.

Примечания:
Эта функция преобразует оба параметра в двоичное представление и устанавливает для бита следующие значения:

  • 0 — если один или оба соответствующих бита в value1 и value2 равны 0;
  • 1 — если оба соответствующих бита равны 1.

Другими словами, функция возвращает значение 0 всегда, за исключением случаев, когда соответствующие биты обоих параметров равны 1.

Пример:

BitAnd(&HF, &HF7)
Возвращает 7, так как шестнадцатеричные F и F7 преобразовываются в это значение.


CBool

Описание.
Функция CBool возвращает логическое значение на основе вычисленного выражения.

Синтаксис
bool CBool(exp Expression)

Примечания:
Если выражение преобразуется в ненулевое значение, функция CBool возвращает значение True, в противном случае она возвращает значение False.

Пример:
CBool([attrib1] = [attrib2])

Возвращает значение True, если оба атрибута имеют одинаковое значение.


ConvertFromBase64

Описание.
Функция ConvertFromBase64 преобразует значение в кодировке Base64 в обычную строку.

Синтаксис
str ConvertFromBase64(str source) — здесь предполагается кодирование Юникод.
str ConvertFromBase64(str source, enum Encoding)

  • source: строка в кодировке Base64
  • Кодировка: Юникод, ASCII, UTF8

Пример
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)

Оба примера возвращают сообщение "Hello world!".


ConvertToBase64

Описание.
Функция ConvertToBase64 преобразует строку в строку Юникода в кодировке base64.
Преобразует значение массива целых чисел в эквивалентное строковое представление в кодировке знаков base64.

Синтаксис
str ConvertToBase64(str source)

Пример:
ConvertToBase64("Hello world!")
Возвращает SABlAGwAbABvACAAdwBvAHIAbABkACEA.


ConvertToUTF8Hex

Описание.
Функция ConvertToUTF8Hex преобразует значение в шестнадцатеричной кодировке UTF8.

Синтаксис
str ConvertToUTF8Hex(str source)

Примечания:
Выходной формат этой функции используется идентификатором Microsoft Entra ID в качестве формата атрибута DN.

Пример:
ConvertToUTF8Hex("Hello world!")
Возвращает 48656C6C6F20776F726C6421.


Count

Описание.
Функция Count возвращает количество элементов в атрибуте с несколькими значениями.

Синтаксис
num Count(mvstr attribute)


CStr

Описание.
Функция CStr преобразует данные в строковый тип данных.

Синтаксис
str CStr(num value)
str CStr(ref value)
str CStr(bool value)

  • value: может быть числовым значением, ссылочным атрибутом или логическим значением.

Пример:
CStr([dn])
Может вернуть cn=Joe,dc=contoso,dc=com.


DateFromNum

Описание.
Функция DateFromNum преобразует значение даты в формате AD в тип DateTime.

Синтаксис
dt DateFromNum(num value)

Пример:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Возвращает значение DateTime, равное 2012-01-01 23:00:00.


DNComponent

Описание.
Функция DNComponent возвращает значение указанного компонента различающегося имени начиная с левого края.

Синтаксис
str DNComponent(ref dn, num ComponentNumber)

  • dn: ссылочный атрибут для интерпретации.
  • ComponentNumber: компонент в различающемся имени для возврата.

Пример:
DNComponent(CRef([dn]),1)
Если значение различающегося имени равно cn=Joe,ou=…, функция возвращает Joe.


Ошибка

Описание.
Функция Error используется для возвращения пользовательских ошибок.

Синтаксис
void Error(str ErrorMessage)

Пример:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Если атрибут accountName отсутствует, в объекте возникает ошибка.


FormatDateTime

Функция:
FormatDateTime(source, inputFormat, outputFormat)

Описание.
Преобразовывает строку даты из одного формата в другой.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Как правило, имя атрибута из исходного объекта.
входной_формат Обязательное поле Строка Предполагаемый формат исходного значения. Поддерживаемые форматы см. в разделе /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Обязательное поле Строка Формат вывода даты.

GUID

Описание.
Функция Guid создает случайный идентификатор GUID.

Синтаксис
str Guid()


IIF

Описание.
Функция IIF возвращает одно из набора возможных значений на основе заданного условия.

Синтаксис
var IIF(exp condition, var valueIfTrue, var valueIfFalse)

  • condition: любое значение или выражение, которое может принять значение true или false.
  • valueIfTrue: значение, возвращаемое, если условие принимает значение true.
  • valueIfFalse: значение, возвращаемое, если условие принимает значение false.

Пример:
IIF([employeeType]="Intern","t-" & [alias],[alias])
Возвращает псевдоним пользователя с префиксом t-, если пользователь является интерном, в противном случае возвращает псевдоним пользователя как есть.


InStr

Описание.
Функция InStr находит первое вхождение подстроки в строке.

Синтаксис

num InStr(str stringcheck, str stringmatch)
num InStr(str stringcheck, str stringmatch, num start)
num InStr(str stringcheck, str stringmatch, num start, enum compare)

  • stringcheck: строка для поиска
  • stringmatch: строка, которая должна быть найдена
  • start: начальная позиция для поиска подстроки
  • compare: vbTextCompare или vbBinaryCompare.

Примечания:
Возвращает позицию, в которой найдена подстрока, или значение 0, если подстрока не найдена.

Пример:
InStr("The quick brown fox","quick")
Принимает значение 5.

InStr("repEated","e",3,vbBinaryCompare)
Принимает значение 7.


IsNull

Описание.
Функция IsNull возвращает значение True, если выражение принимает значение NULL.

Синтаксис
bool IsNull(var Expression)

Примечания:
Значение NULL для атрибута выражается в отсутствии атрибута.

Пример:
IsNull([displayName])
Возвращает значение True, если атрибут не присутствует в CS или MV.


IsNullOrEmpty

Описание.
Функция IsNullOrEmpty возвращает значение True, если выражение имеет значение NULL или является пустой строкой.

Синтаксис
bool IsNullOrEmpty(var Expression)

Примечания:
Для атрибута это будет значение True, если атрибут отсутствует или же присутствует, но является пустой строкой.
Обратной функцией этой функции является IsPresent.

Пример:
IsNullOrEmpty([displayName])
Возвращает значение True, если атрибут не присутствует или является пустой строкой в CS или MV.


IsPresent

Описание.
Функция IsPresent возвращает значение True, если результат выражения — строка, которая не имеет значение NULL и не является пустой.

Синтаксис
bool IsPresent(var expression)

Примечания:
Обратной функцией этой функции является IsNullOrEmpty.

Пример:
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])


Пункт меню

Описание.
Функция Item возвращает один элемент из строки или атрибута с несколькими значениями.

Синтаксис
var Item(mvstr attribute, num index)

  • attribute: атрибут с несколькими значениями
  • index: индекс элемента в строке с несколькими значениями.

Примечания:
Функция Item используется вместе с функцией Contains, так как последняя функция возвращает индекс элементу в атрибуте с несколькими значениями.

Вызывает ошибку, если индекс выходит за допустимые пределы.

Пример:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Возвращает основной адрес электронной почты.


IsString

Описание.
Функция IsString возвращает значение True, если выражение может принимать значение строкового типа.

Синтаксис
bool IsString(var expression)

Примечания:
Используется для определения, сможет ли функция CStr() успешно проанализировать выражение.


Присоединиться

Функция:
Join(separator, source1, source2, )

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

Если одно из исходных значений является атрибутом с несколькими значениями, все значения в этом атрибуте будут объединены, а между ними будет значение разделителя.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
separator Обязательное поле Строка Строка, используемая для разделения исходных значений, когда они объединяются в одну строку. Если разделитель не требуется, может не иметь значения ("").
source1 … sourceN Обязательно, количество повторов может меняться. Строка Строковые значения для объединения.

Left

Описание.
Функция Left возвращает указанное количество символов из левой части строки.

Синтаксис
str Left(str string, num NumChars)

  • string: строка, из которой возвращаются символы.
  • NumChars: число, определяющее количество символов для возврата из начала строки (слева).

Примечания:
Строка, содержащая первые numChars символов в строке:

  • если numChars = 0, возвращается пустая строка;
  • если numChars < 0, возвращается введенная строка;
  • если строка имеет значение Null, возвращается пустая строка.

Если строка содержит меньше символов, чем указано в numChars, возвращается строка без изменений (т. е. содержащая все символы в параметре 1).

Пример:
Left("John Doe", 3)
Возвращает Joh.


Mid

Функция:
Mid(source, start, length)

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

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Как правило, имя атрибута.
Начало Обязательное поле integer Индекс положения в строке source, откуда должна начинаться подстрока. Первый символ в строке будет иметь индекс 1, второй символ — индекс 2 и т. д.
length Обязательное поле integer Длина подстроки. Если длина превышает размер исходной строки, функция возвращает подстроку из начала индекса и до конца исходной строки.

NormalizeDiacritics

Функция:
NormalizeDiacritics(source)

Описание.
Требуется один строковый аргумент. Возвращает строку, в которой все символы с диакритическими знаками заменены эквивалентами без диакритических знаков. Обычно используется для преобразования имен и фамилий с диакритическими знаками в допустимые значения, которые могут использоваться в различных идентификаторах пользователя, таких как имена участников-пользователей, имена учетных записей SAM и адреса электронной почты.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Обычно атрибут имени или фамилии.

Not

Функция:
Not(источник)

Описание.
Обращает логическое значение source. Если значение source равно True, возвращается значение False. В противном случае возвращает значениеTrue.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Логическая строка Предполагаемые значения source: True или False.

RemoveDuplicates

Описание.
Функция RemoveDuplicates принимает строку с несколькими значениями и проверяет, чтобы каждое значение было уникальным.

Синтаксис
mvstr RemoveDuplicates(mvstr attribute)

Пример:
RemoveDuplicates([proxyAddresses])
Возвращает очищенный атрибут proxyAddress, в котором удалены все повторяющиеся значения.


Replace

Функция:
Replace(source, oldValue, regexPattern, regexGroupName, replacementValue, replacementAttributeName, template)

Описание.
Заменяет значения в пределах строки. Ее работа зависит от указанных параметров.

  • Если указаны параметры oldValue и replacementValue:

    • Заменяет все вхождения параметра oldValue в source параметром replacementValue.
  • Если указаны параметры oldValue и template:

    • заменяет все экземпляры oldValue в template значением source.
  • Если указаны параметры regexPattern и replacementValue:

    • функция применяет параметр regexPattern к строке source и вы можете использовать имена групп регулярных выражений для создания строки для параметра replacementValue.
  • Если указаны параметры regexPattern, regexGroupName, replacementValue:

    • функция применяет параметр regexPattern к строке source и заменяет все значения, соответствующие параметру regexGroupName, на replacementValue.
  • Если указаны параметры regexPattern, regexGroupName, replacementAttributeName:

    • Если для source не указано значение, возвращается source.
    • Если для source указано значение, функция применяет параметр regexPattern к строке source и заменяет все значения, соответствующие параметру regexGroupName, значением, связанным с replacementAttributeName.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Как правило, имя атрибута из объекта source.
oldValue Необязательно Строка Значение для замены в source или template.
regexPattern Необязательно Строка Шаблон регулярного выражения для значения, заменяемого в source. Или, при использовании replacementPropertyName, шаблон для извлечения значения из replacementPropertyName.
regexGroupName Необязательно Строка Имя группы в regexPattern. Значение этой группы будет извлечено из replacementPropertyName как replacementValue, только если используется replacementPropertyName.
значение_замены Необязательно Строка Новое значение для замены старого.
replacementAttributeName Необязательно Строка Имя атрибута, используемого для значения замены.
веб-сайта Необязательно Строка Если указано значение template, будет выполнен поиск oldValue в шаблоне с последующей заменой значением source.

SelectUniqueValue

Функция:
SelectUniqueValue(uniqueValueRule1, uniqueValueRule2, uniqueValueRule3, )

Описание.
Требуется как минимум два аргумента, которые являются правилами формирования уникальных значений, определенными с помощью выражений. Функция вычисляет каждое правило, а затем проверяет сформированное значение на уникальность в целевом приложении/каталоге. Будет возвращено первое найденное уникальное значение. Если все значения уже существуют в целевом объекте, запись будет дополнительно обработана, а причина записана в журналы аудита. Предельной границы числа аргументов, которые можно указать, не существует.

Примечание.

  • Это функция верхнего уровня, которую нельзя вложить.
  • Функцию нельзя применить к атрибутам, имеющим приоритет сопоставления.
  • Эта функция предназначена только для создания записей. При использовании ее с атрибутом задайте для свойства Apply Mapping (Применить сопоставление) значение Только в ходе создания объектов.
  • В настоящее время эта функция поддерживается только для приложения Workday and SuccessFactors to Active Directory User Provisioning. Ее нельзя использовать с другими приложениями подготовки.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
uniqueValueRule1 … uniqueValueRuleN Требуется не менее 2, нет верхней границы Строка Список правил формирования уникальных значений для оценки.

SingleAppRoleAssignment

Функция:
SingleAppRoleAssignment([appRoleAssignments])

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

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
[appRoleAssignments] Обязательное поле Строка Объект [appRoleAssignments].

Разделение

Функция:
Split(source, delimiter)

Описание.
Разделяет строку на многозначный массив с помощью определенного символа разделителя.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Значение source, которое необходимо обновить
разделитель Обязательное поле Строка Задает символ, который будет использоваться для разделения строки (к примеру, ",")

StringFromSid

Описание.
Функция StringFromSid преобразует массив байтов с идентификатором безопасности в строку.

Синтаксис
str StringFromSid(bin ObjectSID)


StripSpaces

Функция:
StripSpaces(source)

Описание.
Удаляет все пробелы (« ») из исходной строки.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Значение source, которое необходимо обновить

Switch

Функция:
Switch(source, defaultValue, key1, value1, key2, value2, )

Описание.
Если значение source соответствует key, возвращается value для этого параметра key. Если значение source не соответствует ни одному параметру, то возвращается defaultValue. Параметры key и value должны всегда быть парными. Для функции необходимо всегда использовать четное количество параметров.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Значение Source, которое нужно проверить.
defaultValue Необязательно Строка Значение по умолчанию, которое необходимо использовать, если источник не соответствует ни одному ключу. Может быть пустой строкой ("").
key Обязательное поле Строка Параметр key, с которым сравнивается значение source.
значение Обязательное поле Строка Значение, которым заменяется значение source , соответствующее ключу.

ToLower

Функция:
ToLower(источник, язык и региональные параметры)

Описание.
Принимает строковое значение source и преобразует его в нижний регистр, используя указанные правила языка и региональных параметров. Если не указаны сведения о языке и региональных параметрах, будут использоваться инвариантные язык и региональные параметры.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Как правило, имя атрибута из исходного объекта.
Язык и региональные параметры Необязательно Строка Форматом названия языка и региональных параметров в соответствии с RFC 4646 является languagecode2-country/regioncode2, где languagecode2 — это двухбуквенный код языка, а country/regioncode2 — двухбуквенный код субкультуры. Примеры включают в себя ja-JP для японского языка (Япония) и en-US для английского (США). В случаях, когда двухбуквенный код языка недоступен, используется трехбуквенный код на основе ISO 639-2.

ToUpper

Функция:
ToUpper(источник, язык и региональные параметры)

Описание.
Принимает строковое значение источника и преобразует его в верхний регистр, используя указанные правила языка и региональных параметров. Если не указаны сведения о языке и региональных параметрах, будут использоваться инвариантные язык и региональные параметры.

Параметры:

Имя. Обязательно/повторяется Тип Примечания.
source Обязательное поле Строка Как правило, имя атрибута из исходного объекта.
Язык и региональные параметры Необязательно Строка Форматом названия языка и региональных параметров в соответствии с RFC 4646 является languagecode2-country/regioncode2, где languagecode2 — это двухбуквенный код языка, а country/regioncode2 — двухбуквенный код субкультуры. Примеры включают в себя ja-JP для японского языка (Япония) и en-US для английского (США). В случаях, когда двухбуквенный код языка недоступен, используется трехбуквенный код на основе ISO 639-2.

Trim

Описание.
Функция Trim удаляет пробелы в начале и конце строки.

Синтаксис
str Trim(str value)

Пример:
Trim(" Test ")
Возвращает значение Test.

Trim([proxyAddresses])
Удаляет начальные и конечные пробелы для каждого значения в атрибуте proxyAddress.


Word

Описание.
Функция Word возвращает слово, содержащееся внутри строки, в зависимости от параметров, описывающих разделители и количество слов для возврата.

Синтаксис
str Word(str string, num WordNumber, str delimiters)

  • string: строка, из которой возвращаются слова.
  • WordNumber: число, определяющее количество слов, которые должны быть возвращены.
  • delimiters: строка, представляющая разделители, которые должны использоваться для идентификации слов.

Примечания:
Каждая строка символов в строке, разделенной одним из символов-разделителей, определяется как слово:

  • если number < 1, возвращается пустая строка;
  • если string имеет значение Null, возвращается пустая строка.

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

Пример:
Word("The quick brown fox",3," ")
Возвращает значение "brown".

Word("This,string!has&many separators",3,",!&#")
Вернет значение "has".

Примеры

Извлечение известного доменного имени

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

Выражение:
Replace([mail], "@contoso.com", , ,"", ,)

Пример ввода и вывода:

  • Входные данные (mail): "john.doe@contoso.com"
  • Выходные данные: john.doe

Добавление суффикса константы к имени пользователя

При использовании Salesforce Sandbox может потребоваться добавить дополнительный суффикс ко всем именам пользователей перед их синхронизацией.

Выражение:
Append([userPrincipalName], ".test")

Пример ввода и вывода:

  • Входные данные: (userPrincipalName): "John.Doe@contoso.com"
  • Выходные данные: "John.Doe@contoso.com.test"

Создание псевдонима пользователя путем сцепления частей имени и фамилии

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

Выражение:
Append(Mid([givenName], 1, 3), Mid([surname], 1, 5))

Пример ввода и вывода:

  • ВВОД : (givenName): "John"
  • ВВОД : (surname): "Doe"
  • Выходные данные: "JohDoe"

Удаление диакритических знаков из строки

Вам нужно заменить символы с диакритическими знаками эквивалентами без диакритических знаков.

Выражение:
NormalizeDiacritics([givenName])

Пример ввода и вывода:

  • ВВОД (givenName): "Zoë"
  • ВЫХОДНЫЕ ДАННЫЕ: "Zoe"

Разделение строки на многозначный массив

Выберите список строк с разделителями-запятыми и разделите их на массив, который можно подключить к такому многозначному атрибуту, как, например, атрибут PermissionSets компании Salesforce. В этом примере список наборов разрешений заполнен в extensionAttribute5 в идентификаторе Microsoft Entra ID.

Выражение:
Split([extensionAttribute5], ",")

Пример ввода и вывода:

  • Входные данные: (extensionAttribute5): "PermissionSetOne, PermissionSetTwo"
  • ВЫХОДНЫЕ ДАННЫЕ: ["PermissionSetOne", "PermissionSetTwo"]

Вывод даты в виде строки в определенном формате

Необходимо отправить в приложение SaaS даты в определенном формате.
Например, требуется отформатировать даты для ServiceNow.

Выражение:

FormatDateTime([extensionAttribute1], "yyyyMMddHHmmss.fZ", "yyyy-MM-dd")

Пример ввода и вывода:

  • ВВОД : (extensionAttribute1): "20150123105347.1Z"
  • Выходные данные: "2015-01-23"

Замена значения на основе предопределенного набора параметров

Необходимо определить часовой пояс пользователя на основе кода состояния, хранящегося в идентификаторе Microsoft Entra.
Если код государства не совпадает с предопределенными параметрами, используйте значение по умолчанию «Australia/Sydney».

Выражение:
Switch([state], "Australia/Sydney", "NSW", "Australia/Sydney","QLD", "Australia/Brisbane", "SA", "Australia/Adelaide")

Пример ввода и вывода:

  • ВВОД : (state): "QLD"
  • ВЫВОД: "Australia/Brisbane"

Замените символы с помощью регулярного выражения

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

Выражение:

Replace([mailNickname], , "[a-zA-Z_]*", , "", , )

Пример ввода и вывода:

  • Входные данные (mailNickname: "john_doe72"
  • ВЫХОДНЫЕ ДАННЫЕ: "72"

Преобразование созданного значения userPrincipalName (UPN) в нижний регистр

В приведенном ниже примере значение UPN создается путем объединения полей источника данных PreferredFirstName и PreferredLastName, а функция ToLower использует строку для преобразования всех знаков в нижний регистр.

ToLower(Join("@", NormalizeDiacritics(StripSpaces(Join(".", [PreferredFirstName], [PreferredLastName]))), "contoso.com"))

Пример ввода и вывода:

  • Входные данные (предпочитаемое имя): "John".
  • Входные данные (предпочитаемая фамилия): "Smith".
  • Выходные данные: "john.smith@contoso.com"

Создание уникального значения для атрибута userPrincipalName (имя участника-пользователя)

На основе имени, отчества и фамилии пользователя необходимо создать значение для атрибута имени участника-пользователя и проверить его на уникальность в целевом каталоге AD перед присвоением этого значения атрибуту имени участника-пользователя.

Выражение:

    SelectUniqueValue( 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  [PreferredFirstName], [PreferredLastName]))), "contoso.com"), 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 1), [PreferredLastName]))), "contoso.com"),
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 2), [PreferredLastName]))), "contoso.com")
    )

Пример ввода и вывода:

  • Входные данные (предпочитаемое имя): "John".
  • Входные данные (предпочитаемая фамилия): "Smith".
  • Выходные данные: "John.Smith@contoso.com", если значение имени участника-пользователя John.Smith@contoso.com еще не существует в каталоге.
  • Выходные данные: "J.Smith@contoso.com", если значение John.Smith@contoso.com уже существует в каталоге.
  • Выходные данные: "Jo.Smith@contoso.com", если два указанные выше значения имени участника-пользователя уже существуют в каталоге.

Следующие шаги