Написание выражений для сопоставлений атрибутов в идентификаторе Microsoft Entra
При настройке синхронизации облака одним из типов сопоставления атрибутов, которые можно указать, является сопоставление выражений.
Сопоставление выражений позволяет настраивать атрибуты с помощью выражения, похожего на скрипт. Это позволяет преобразовать локальные данные в новое или другое значение. Например, вам может потребоваться объединить два атрибута в один, потому что этот один атрибут используется одним из облачных приложений.
В следующем документе будут рассмотрены выражения, похожие на скрипт, которые используются для преобразования данных. Это только часть процесса. Затем вам нужно будет использовать это выражение и поместить его в веб-запрос клиенту. Дополнительные сведения см. в статье о преобразованиях.
Общие сведения о синтаксисе
Синтаксис выражений для сопоставления атрибутов напоминает функции Visual Basic для приложений (VBA).
Все выражение должно быть определено с точки зрения функций, которые состоят из имени, за которым следует аргументы в скобках:
FunctionName(<<argument 1>>
,<<argument N>>
)Функции можно вкладывать одну в другую. Например:
FunctionOne(FunctionTwo(<<argument1>>
))В функцию можно передавать следующие три типа аргументов.
- Атрибуты, которые должны быть заключены в квадратные скобки. Например: [имя_атрибута].
- Строковые константы, которые должны быть заключены в двойные кавычки. Например: "США".
- Другие функции. Например: 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): "[email protected]"
- Выходные данные: john.doe
Добавление суффикса константы к имени пользователя
При использовании Salesforce Sandbox может потребоваться добавить дополнительный суффикс ко всем именам пользователей перед их синхронизацией.
Выражение:
Append([userPrincipalName], ".test")
Пример ввода и вывода:
- Входные данные: (userPrincipalName): "[email protected]"
- Выходные данные: "[email protected]"
Создание псевдонима пользователя путем сцепления частей имени и фамилии
Необходимо создать псевдоним пользователя, используя первые три буквы имени и первые пять букв фамилии пользователя.
Выражение:
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".
- Выходные данные: "[email protected]"
Создание уникального значения для атрибута 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".
- Выходные данные: "[email protected]", если значение имени участника-пользователя [email protected] еще не существует в каталоге.
- Выходные данные: "[email protected]", если значение [email protected] уже существует в каталоге.
- Выходные данные: "[email protected]", если два указанные выше значения имени участника-пользователя уже существуют в каталоге.