如何实现仅本人下载至服务器共享文件夹的Windchill文件自动邮件发送?
解决方案:自动触发邮件并附带Windchill下载文件
方法一:优化Power Automate流程(适配共享驱动器)
- 触发条件:选用当文件创建或修改时(属性仅),触发后添加筛选逻辑:获取文件的创建者/修改者属性,匹配你的账号(通过用户名或邮箱)
- 获取文件内容:添加获取文件内容动作,选中目标共享文件夹内的对应文件,大文件需开启高级选项中的"包括文件内容"
- 发送邮件:使用**发送电子邮件(V2)**动作,将获取到的文件内容作为附件添加,收件人设为你的邮箱
注意:如果是Windows SMB共享驱动器,需先通过连接到SMB建立权限连接;若是OneDrive/SharePoint共享文件夹,直接用对应连接器即可。
方法二:PowerShell脚本+任务计划(更灵活的本地方案)
若Power Automate存在权限或功能限制,可采用此方案:
- 编写监听脚本,过滤你创建的文件并触发邮件:
$watcher = New-Object System.IO.FileSystemWatcher $watcher.Path = "你的共享文件夹完整路径" $watcher.Filter = "*.*" $watcher.IncludeSubdirectories = $false $watcher.EnableRaisingEvents = $true $action = { $path = $Event.SourceEventArgs.FullPath $file = Get-Item $path # 替换为你的用户名,匹配文件创建者 if ($file.GetAccessControl().Owner -match "你的Windows用户名") { # 替换为你的邮箱、SMTP服务器信息 Send-MailMessage -To "your-email@domain.com" -From "sender-email@domain.com" ` -Subject "新下载文件:$($file.Name)" -Body "你刚下载的文件已附在邮件中" ` -Attachment $path -SmtpServer "smtp.domain.com" -Port 587 -UseSsl ` -Credential (Get-Credential) } } Register-ObjectEvent $watcher "Created" -Action $action # 保持脚本后台运行 while ($true) { Start-Sleep 1 }
- 创建Windows任务计划,设置为开机自动启动该脚本,确保持续监听文件夹
方法三:Windchill端直接配置(根源触发)
若你有权限操作Windchill配置,可跳过共享文件夹环节:
- 找到Windchill的事件触发器模块,添加"文件下载完成"事件的触发规则
- 设置规则条件:仅当下载用户为你的账号时,执行"发送邮件"动作,直接将下载文件作为附件发送至你的邮箱
内容的提问来源于stack exchange,提问作者Aryan
相关产品推荐
相关产品推荐

