宏是特殊字符串,其值会根据该宏的功能被替换为另一个字符串。ADManager Plus支持多种类型的宏,这些宏在执行时会解析动态值。
例如:在 %sAMAccountName% 宏中,输入值将为宏执行对象的 SAM 账户名称。
在ADManager Plus中使用宏时,必须遵循以下语法规范。根据宏的类别或类型,其前缀会有所不同。
| 宏类型 | 前缀 | 可用宏 |
|---|---|---|
| 操作详情 | act |
|
| 环境变量 | env | 在环境变量选项卡下配置。 |
| 自定义函数 | fx |
|
| 实用程序 | - | |
| AD 属性 | ad |
|
| Microsoft 365 属性 | m365 |
在支持宏的下列模块中,点击宏选择器图标
,并按需配置。
在 ADManager Plus 中使用宏时,建议遵循以下提示。
ADManager Plus中的嵌套宏允许在另一个宏内部嵌入或调用宏。使用嵌套宏时 需用#符号包裹内部宏。环境变量、查找替换宏、URI组件 编码与解码宏均属于嵌套宏示例。
示例:
Active Directory (AD) 属性宏可动态获取宏执行对象(用户/组)的 LDAP 值。默认情况下,ADManager Plus 提供二十个 AD 属性宏。若需添加自定义属性,请在“管理 > LDAP 属性”中配置。添加自定义属性时,请确保其关联到相应的报表类别。
这些宏可动态获取宏执行对象(用户/组)的 Microsoft 365 属性值。ADManager Plus 默认提供 18 个 Microsoft 365 属性宏。
时间戳宏是用于动态表示特定日期和时间值的占位符或变量。使用此宏时,请在操作详情中选择时间戳宏,并指定日期和时间格式,该格式将在每次使用宏时实时更新。
例如:
在自动化用户入职任务时,可通过如下所示的时间戳宏将用户账户创建的起始日期设置为自动化配置完成后两天。
语法:
%act.timestamp_<日期格式>_<时间间隔类型>_<时间间隔值>%
示例:
%act.timestamp_dd-MM-yyyy_afterNDays_2%
| 输入值 | 输出值 |
|---|---|
| 若宏解析时的当前日期为:2025年1月1日 | 2025-03-01 |
环境变量是一组名称-值对,可作为宏用于存储较少变更的值(如认证令牌、ID等)。创建新Webhook模板时,可在URL、Header、Parameter和Message Body中使用环境变量。
语法
%env.<变量名>%
示例
%env.securedToken%
| 输入值 | 输出值 |
|---|---|
| %env.securedToken% | sd#123#78sd |
创建其值从脚本中获取的自定义函数。在解析变量宏时,脚本执行的结果值将作为自定义函数的值使用。
语法:
%fx.<变量名>_<参数1>_...<参数n>%
示例:
%fx.generateSecuredToken_#%act.timestamp_dd-MM-yyyy_当前时间%#_%admin%
| 输入值 | 输出值 |
|---|---|
| %fx.generateSecuredToken_#%act.timestamp_dd-MM-yyyy_当前时间%#_%admin% | 生成安全令牌脚本路径将添加在此处。
执行时间将采用dd-MM-yyyy格式(例如01-01-2024)作为第一个参数,admin作为第二个参数。 两个值将在脚本中解析,脚本输出将成为宏的值。 |
查找替换宏可帮助您搜索并定位源字符串中的特定部分,将其替换为另一字符串。在ADManager Plus中,您可对源字符串和宏进行查找替换。使用方法:在"选择宏"弹出窗口中,依次进入"函数" > "查找替换"。
语法:
%fx.findAndReplace(input:<输入值>,find:<查找值>,replace:<替换值>)%
示例:
%fx.findAndReplace(input:#%ad.OU_DN_NAME%#,find:test.com,replace:test123.com)%
| 输入值 | 输出值 |
|---|---|
| 若用户所属OU为: | DistinguishedName = "OU=IAM users,DC=test,DC=com"。
"OU=IAM users,DC=prod,DC=com" |
URI编码宏的功能类似于实际的JavaScript encodeURI组件。默认情况下,webhook模板的API URL和参数将在执行前进行编码。除此之外,若需对其他值进行编码,请使用此选项。
语法:
%fx.encodeURIComponent("<value>")%
示例:
%fx.encodeURIComponent("Ad secure pwd")%
| 输入值 | 输出值 |
|---|---|
| L*urO@82# | L*urO%4082#%0A |
注意:您 也可将敏感信息存储在环境变量中,并将其作为嵌套宏添加到编码URI宏中。
解码URI宏的工作原理类似于实际的JavaScript decodeURI组件。若需解码从集成应用程序获取的编码属性值,请在解码URI组件字段中输入该值。
| 输入值 | 输出值 |
|---|---|
| Ad%20安全%20密码 | Ad安全密码 |
此宏可在入站 webhook 中搜索并定位配置端点属性列中的目标模式值。在"检索正则表达式匹配"字段( 选择宏 > 函数)中,提供列名及搜索匹配的模式。完成后点击添加。
这样,从端点获取的数据将仅包含API处理所需的字符串模式,并舍弃属性值中的其余内容。
注意:" 检索正则表达式匹配项"宏仅限于命名格式中使用。
追加
若需连续使用两个宏,在从端点获取数据时,请在两个宏之间添加:APPEND:字符串。
语法:
%<前缀>.<宏名>%:APPEND:%<前缀>.<宏名>%
示例:
%ad.givenName%:APPEND:%ad.department%
| 输入值 | 输出值 |
|---|---|
| 如果用户的姓名为 test, 部门名称为 accounts。 | 测试账户 |
