如何在Windows Server的Pentaho PDI 9.3中获取当前执行用户?
获取PDI转换执行的当前用户名(Windows Server环境)
环境信息
- PDI版本:9.3
- 运行环境:Windows Server
问题描述
需要获取执行转换任务的当前用户名,用于创建基于用户信息的动态文件路径。使用「Get System Info」步骤仅能获取服务器名称,无法得到当前执行用户。
解决方案
方法1:使用「Get System Info」步骤的内置字段
在「Get System Info」步骤的可选字段列表中,选择Username项,该字段会直接返回执行当前转换的操作系统用户名,将其保存为指定字段即可使用。
方法2:通过Java表达式获取
添加「Java Expression」步骤,输入如下Java代码表达式:
System.getProperty("user.name")
将计算结果存储到自定义字段(例如current_user),后续即可在路径中引用该字段。
方法3:直接引用系统变量
在Windows环境下,PDI支持直接引用系统变量 ${USERNAME},在需要设置动态路径的位置直接使用该变量即可,例如:
C:\user_files\${USERNAME}\export_data.csv
内容的提问来源于stack exchange,提问作者Mohmad_Foad
相关产品推荐
相关产品推荐

