You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:PowerShell文件变更邮件通知脚本未触发邮件问题排查

小白也能懂的PowerShell邮件通知脚本排障

先搞懂这个脚本是干啥的

这个脚本就像个一分钟查一次岗的小保安:每次跑起来,就去你指定的文件夹瞅一眼,要是发现1分钟以内有新文件或者被改过的文件,就发邮件告诉你。但它默认只查一次就下班,不会一直盯着!

为啥没收到邮件?一步步找原因

1. 先让脚本“一直上班”

默认脚本只跑一次,可能你刚运行完,才加文件,它已经走了,没看到。

  • 解决办法:给脚本加个“循环岗”,让它每60秒就查一次。在脚本最后加两行:
    Start-Sleep -Seconds 60
    & $MyInvocation.MyCommand.Path
    
  • 测试时要记住:先运行脚本,等一会儿再加文件,给它时间查到。

2. 检查邮箱和邮件服务器填对没

就像寄明信片要写对收件人地址和邮局地址:

  • 把smtp.domain.com换成你公司/邮箱服务商真正的邮件服务器(比如QQ邮箱是smtp.qq.com,163邮箱是smtp.163.com)
  • email@domain.com换成你真实的发件邮箱和收件邮箱(比如zhangsan@company.com)
  • 很多邮箱需要密码/授权码才能发邮件!比如QQ、163邮箱,要在Send-MailMessage那行加密码验证:
    Send-MailMessage @SMTPMessage -Body $SMTPBody -Credential (Get-Credential)
    
    运行脚本时会弹出框让你输邮箱密码,输完就行。

3. 让脚本告诉你有没有找到文件

有时候脚本没找到文件,自然不会发邮件。咱们让它在黑框里喊一声:

  • 在If ($File)下面加一行:
    Write-Host "我找到这些文件啦:`n$($File.FullName)"
    
  • 要是黑框里没显示文件,说明时间设置太严了:默认只找1分钟内的文件,你可以把AddMinutes(-1)改成AddMinutes(-5),让它找5分钟以内的,更容易测试。

4. 去垃圾箱看看!

有时候邮件会被当成垃圾邮件,收件箱找不到的话,去垃圾箱翻一翻~

给你改好的测试脚本

我把上面的修改都加上了,直接复制用就行:

Param (
    [string]$Path = "C:\Users\ahmad.mahmoud\Desktop\test",
    [string]$SMTPServer = "smtp.domain.com", # 换成你的真实SMTP服务器
    [string]$From = "你的发件邮箱@xxx.com", # 换成真实发件邮箱
    [string]$To = "你的收件邮箱@xxx.com", # 换成真实收件邮箱
    [string]$Subject = "新文件添加/修改通知"
    )

$SMTPMessage = @{
To = $To
From = $From
Subject = "$Subject 在 $Path"
Smtpserver = $SMTPServer
}

# 查找5分钟内新增/修改的文件
$File = Get-ChildItem $Path | Where { $_.LastWriteTime -ge [datetime]::Now.AddMinutes(-5) }
If ($File)
{   
    # 在黑色窗口显示找到的文件
    Write-Host "我找到这些文件啦:`n$($File.FullName)"
    $SMTPBody = "`n以下文件最近被新增/修改:`n`n"
    $File | ForEach { $SMTPBody += "$($_.FullName)`n" }
    # 添加邮箱密码验证,运行时输入密码即可
    Send-MailMessage @SMTPMessage -Body $SMTPBody -Credential (Get-Credential)
}
# 每60秒自动重新运行脚本,持续监控文件夹
Start-Sleep -Seconds 60
& $MyInvocation.MyCommand.Path

内容的提问来源于stack exchange,提问作者Ahmad Mahmoud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:51:18