首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Powershell脚本检查文件的修改日期,如果更改则发送电子邮件

Powershell脚本是一种用于自动化任务和管理Windows操作系统的脚本语言。它可以通过编写脚本来执行各种操作,包括文件操作、系统配置、网络通信等。

要检查文件的修改日期并发送电子邮件,可以使用以下Powershell脚本:

代码语言:txt
复制
# 设置文件路径和电子邮件相关信息
$filePath = "C:\path\to\file.txt"
$senderEmail = "sender@example.com"
$receiverEmail = "receiver@example.com"
$smtpServer = "smtp.example.com"

# 获取文件的最后修改日期
$file = Get-Item $filePath
$lastModified = $file.LastWriteTime

# 获取当前日期和时间
$currentDateTime = Get-Date

# 比较文件的最后修改日期和当前日期
if ($lastModified -gt $currentDateTime) {
    # 创建电子邮件对象
    $email = New-Object System.Net.Mail.MailMessage
    $email.From = $senderEmail
    $email.To.Add($receiverEmail)
    $email.Subject = "文件已修改"
    $email.Body = "文件 $filePath 已于 $lastModified 修改。"

    # 创建SMTP客户端对象并发送电子邮件
    $smtpClient = New-Object System.Net.Mail.SmtpClient($smtpServer)
    $smtpClient.Send($email)
}

这个脚本首先设置了文件路径和电子邮件相关信息。然后,它使用Get-Item命令获取文件的最后修改日期,并使用Get-Date命令获取当前日期和时间。接下来,它比较文件的最后修改日期和当前日期,如果文件的最后修改日期大于当前日期,则表示文件已经被修改。在这种情况下,它创建一个电子邮件对象,并设置发件人、收件人、主题和正文。最后,它使用SMTP客户端对象发送电子邮件。

这个脚本可以应用于各种场景,例如监控重要文件的修改情况,及时通知相关人员。对于文件修改的监控和通知需求,腾讯云提供了云函数(Serverless Cloud Function)服务,可以通过编写云函数来实现类似的功能。您可以了解腾讯云云函数的相关信息和产品介绍,以及如何使用云函数来实现文件修改监控和通知的需求,具体信息请参考腾讯云云函数产品介绍:云函数产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

隐匿攻击方法

/lukebaggett/dnscat2-powershell 3、Gmail Gmail 为用户和企业提供电子邮件功能,这意味着大多数组织中都允许向 Gmail 服务器发送流量 可以使用 Gmail...作为命令和控制服务器:定期向 Gmail 收件箱发送信标,并检查是否有任何带有活动 ID 新邮件。...如果有,这些电子邮件中包含命令将在受感染主机上执行,当收到新响应时,此信息将传递到控制台 工具: gcat:https://github.com/byt3bl33d3r/gcat gdog:https...//github.com/PaulSec/twittor 9、website keyword 在网站上查找指定关键字,如果该关键字存在,则将执行有效负载 工具: Powershell-C2:https...WebDAV 服务器中资源属性:包括文件名、内容长度、创建和修改日期等 可以将payload放入PROPFIND 方法 工具: WebDavC2:https://github.com/Arno0x/

87820

恶意软件分析:xHunt活动又使用了新型后门

TriFive通过登录合法用户收件箱并从“已删除邮件”文件夹中电子邮件草稿中获取PowerShell脚本,从而提供了对Exchange服务器持久化后门访问。...事实上,基于电子邮件C2也在Hisoka工具中使用过,虽然Hisoka工具使用电子邮件草稿发送和接收数据,但这些草稿仍保留在草稿文件夹中,而TriFive后门则专门将其电子邮件草稿保存到“已删除邮件”...下图显示一封包含演示命令邮件,主题为555,邮件内容为woFyeWt3cw==,该脚本将通过PowerShell执行: 为了运行攻击者提供命令,PowerShell脚本需要登录到Exchange服务器上合法电子邮件帐户...,并检查“已删除邮件”文件夹中主题为555电子邮件。...接下来,TriFive会将命令结果发送给攻击者,并将编码密文设置为电子邮件草稿消息体,它将保存在主题为555“已删除邮件”文件夹中。

2.2K10

PowerShell-RAT:一款基于Python后门程序

这款RAT可以帮助红队测试人员给任何一台Windows设备安装后门,它不仅可以使用屏幕捕捉功能来跟踪用户活动,而且还可以通过电子邮件附件来将提取出数据发送给攻击者。...依赖组件 如果Windows设备没装Python的话,我该怎么办?...文件修改账号$username和$password变量值; 根据邮箱地址修$msg.From和$msg.To.Add; 如何使用 选项1:通过设置执行策略来不受限制地使用Set-ExecutionPolicyUnrestricted...选项4:该选项将使用Powershell从目标设备上发送电子邮件,并使用Mail.ps1脚本将提取到数据+屏幕截图以邮件附件形式进行发送。...配置完成之后,你就可以查看到用户活动截图了: ? 接下来,工具还将使用Gmail并以邮件附件形式将提取出数据发送给攻击者: ?

1.6K50

0基础上手python编程,实践windows域用户过期邮件通知

在此之前我并没有编程经验,对于python我花了半天时间看了www.runoob.com/python3教程,看完第五节基本语法,发现python与bash脚本基本相同,因此安装完PyCharm后直接开始了代码编写...、定期检查 二、获取windows域用户信息 百度查询,获得powershell命令 Get-ADUser -Filter 'Name -like "*"' -Properties * Get-ADUser...是powershell域管理用户管理命令,此条命令可以列出全部域用户信息 因为我们只需要用户名、上次修改密码时间和邮箱,因此使用powershell管道符加Select-Object筛选出name,passwordlastset...test 密码132天未修改 邮箱为test@90apt.com 四、发送邮件 百度一下,直接加进去,发送邮件所需要东西我们都有了 用户名就是username,天数day,邮箱我们通过拼接usermail...编译,那不是百度一下就行,定时任务就简单了,这里就不说了。 七、最后 不会写代码网工不是好系统运维

87510

Window下常见权限维持方式

容易遇到问题:脚本需全路径,如 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 0x03 计划任务 通过window系统任务计划程序功能实现定时启动某个任务...计划脚本每 1 分钟运行一次。 ? 0x04 服务自启动 通过服务设置自启动,结合powershell实现无文件后门。...DLL时没有指定DLL绝对路径,那么Windows会尝试去指定目录下查找这个DLL;如果攻击者能够控制其中某一 个目录,并且放一个恶意DLL文件到这个目录下,这个恶意DLL便会被进程所加载,从而造成代码执行...远程访问木马通常与用户请求程序(如游戏程序)一起,是一种看不见下载,或作为电子邮件附件发送。一旦主机系统被攻破,入侵者可以利用它来向其他易受感染计算机分发远程访问木马,从而建立僵尸网络。...管理员在平时运维过程应当保持警惕,掌握一定入侵排查技巧,及时进行系统补丁更新,定期对服务器安全检查,才能有效地预防后门。

1.2K20

利用计划任务进行权限维持几种姿势

pentestlab.blog/2019/11/04/persistence-scheduled-tasks/ Windows操作系统提供了一个实用程序(schtasks.exe),使系统管理员能够在特定日期和时间执行程序或脚本...有效负载可以从磁盘或远程位置执行,它们可以是可执行文件powershell脚本或scriptlet形式。...持续性–计划任务日期和时间 如果为目标事件启用了事件日志记录,则可以在特定Windows事件中触发任务。b33f在他网站上演示了此技术。Windows事件命令行实用程序可用于查询事件ID。...SharPersist –列出登录计划任务 该schtaskbackdoor功能与检查相结合参数可以识别,如果一个特定计划任务已后门。...SharPersist –检查后门计划任务 “ Add ”参数将后门现有的计划任务,该任务将执行恶意命令,而不是执行隐蔽持久性选项来执行合法动作。

2.7K20

新型Linux恶意软件隐藏于无效日期、黑客通过微软漏洞监视目标电脑|全球网络安全热点

恶意软件隐藏在日期无效cron作业中 安全研究人员发现了一种新Linux远程访问木马(RAT),它通过隐藏在计划在2月31日不存在一天执行任务中来保持几乎不可见配置文件。...);并检查和记录所有流量(将经过身份验证身份与预定义策略、历史数据和访问请求上下文进行比较)。...与其他此类攻击一样,感染起点是包含恶意附件网络钓鱼电子邮件,该附件伪装成文本文件,但实际上是经过混淆JavaScript代码,用于编写和执行VBScript文件,反过来,在受感染机器上下载最后阶段恶意软件负载...窃取程序是一个PowerShell脚本,具有强大收集功能——仅约150行,它为攻击者提供了大量关键信息,包括屏幕截图、电报文件、文档收集以及有关受害者环境大量数据。...打开该文件会触发CVE-2021-40444漏洞利用,导致执行名为“PowerShortShell”PowerShell脚本,该脚本能够隐藏敏感信息并将其传输到命令和控制(C2)服务器。

67750

Window权限维持(四):快捷方式

隐蔽方法是修改现有合法快捷方式属性,但是生成具有不同特征快捷方式可以为代码执行提供灵活性。...查看快捷方式属性将显示目标字段已成功修改以执行PowerShell有效负载。 ? 由于快捷方式存在于启动文件夹中,因此暂存器将在下一次Windows登录中执行,并且将与命令和控制服务器建立连接。...隐蔽方法是修改现有合法快捷方式属性,但是生成具有不同特征快捷方式可以为代码执行提供灵活性。...EmpireEmpire包含一个持久性模块,该模块可以后门合法快捷方式(.LNK),以执行任意PowerShell有效负载。现有快捷方式目标字段将被修改以执行存储在注册表项中base64脚本。...xillwillx开发了一个名为ricky.lnkPowerShell脚本,该脚本可以创建一个以.unik字符欺骗.LNK文件,该字符反转.lnk扩展名并在文件末尾附加.txt。

1.3K30

你应该学习正则表达式

作为额外训练,你可以尝试修改脚本,将24小时制转换为12小时制(am/pm)。 3 – 匹配日期 现在我们来匹配一个DAY/MONTH/YEAR样式日期模式。 ?...但是一旦你确认输入文本是电子邮件地址,那么你应该始终遵循发送确认/激活电子邮件标准做法。...我真的不建议在你应用程序中使用上述表达式;最好是使用一个有信誉电子邮件验证库或继续探索完整电子邮件验证Regex。...命令中正则表达式另一个好处是在文本文件修改电子邮件。...这可以通过使用sed命令以及前面的电子邮件Regex修改版本完成。 ? sed——Unix“流编辑器”实用程序,允许强大文本文件转换。

5.3K20

终端安全系列-计划任务详解

通过Windows计划任务,用户可以: 定时运行程序:在指定日期和时间,自动运行特定应用程序、脚本或命令行工具。...操作设置:根据操作类型,你可以指定要运行可执行文件脚本文件路径,以及传递给该程序参数。 条件(Conditions): 开始条件:你可以设置任务只有在满足一定条件时才开始执行。...可以使用下面Powershell脚本来解析计划任务 XML 配置文件 # 指定XML文件路径 $xmlFilePath = "C:\Path\to\your\Task.xml" # 创建XmlDocument...IAction (IAction): 用于创建和管理计划任务操作接口,例如运行程序、发送电子邮件等。...Action: 代表计划任务动作,用于设置计划任务要执行操作,如运行程序、调用 PowerShell 脚本等。

1.3K10

抵御无文件型恶意软件那些事儿

近期,FireEye研究人员就发现有攻击者将PowerShell、VB脚本和.NET应用整合进了一个代码包中。...这并不意味着你要定期进行安全练习,或偶尔向员工发送钓鱼测试邮件。这里需要我们制定一套安全操作流程,并且让员工有效地意识到电子邮件附件危险性,防止员工无意识地点击陌生链接。...第三,安全团队需要了解Windows内置代码操作行为,这样我们就可以在第一时间发现异常情况。比如说,如果你在/TEMP目录中发现了隐藏PowerShell脚本,那你就需要小心了。 ?...比如说,攻击者可以发送反向DNS请求,枚举出网络共享访问控制列表,并查找出特定域组成员。 因此,安全团队应当遵循“最少权限”原则,及时检查已过期账户访问权限,并根据需要限制某些账号特权。...实际上,他们已经开发出了一个名为“反恶意软件扫描接口”开放接口,而且很多供应商已经开始使用它来检测无文件型恶意软件攻击了,尤其是在分析脚本行为时,这个接口作用就体现得更加明显了。

70330

适用于渗透测试不同阶段工具收集整理

该资源清单列表涵盖了一系列,适用于渗透测试不同阶段开源/商业工具。如果你想为此列表添加贡献,欢迎你向我发送pull request。 ?...https://github.com/michenriksen/aquatone spoofcheck:检查域是否可以被欺骗。它会检查SPF和DMARC记录是否存在允许欺骗弱配置。...https://github.com/Arvanaghi/CheckPlease Invoke-PSImage:将目标PS脚本嵌入到一个PNG图片文件像素点中,并允许我们使用一行指令来执行该脚本。...https://github.com/securestate/king-phisher FiercePhish:是一个管理所有钓鱼攻击完整钓鱼框架 ,允许你跟踪单独网络钓鱼活动,定时发送电子邮件等。...它不仅可以使用屏幕捕捉功能来跟踪用户活动,而且还可以通过电子邮件附件来将提取出数据发送给攻击者。

3.5K01

钓鱼钓鱼是攻击计算机最常用技术

研究人员在分析了数十亿次攻击后警告说,Microsoft Office宏,PowerShell等仍在通过网络钓鱼电子邮件分发攻击网络罪犯中很受欢迎。...目的是阻止分析人员检查攻击,从而防止其他系统受到攻击。 攻击者仍会定期将PowerShell滥用,以将其作为网络钓鱼电子邮件最初立足点,从而获得对网络访问。...与涉及宏攻击不同,这些攻击通常依赖于发送受害者以单击带有代码链接来执行PowerShell。...用于使网络钓鱼电子邮件成功其他常见攻击技术包括将用户重定向到带有恶意HTML代码网站,这些网站将在恶意软件访问受害者时将恶意软件拖放到受害者PC上,而众所周知,攻击者只是劫持电子邮件线程,利用受害者如何信任受害者出于恶意目的信任已知联系人和滥用行为...,例如发送恶意软件或请求登录凭据。

90220

ATT&CK框架:攻击者最常用TOP7攻击技术及其检测策略

还建议监视从非标准位置执行脚本,例如用户可写路径,包括appdata\local*、其他类似路径以及临时目录。 此外,监视进程元数据、进程命令行和文件修改都是非常重要策略。...此外,可能会成功检查任何已知与这些路径结合使用文件类型,例如LNK。要检测已安装且处于休眠状态持久化,可以检查同一注册表和文件系统路径内容中是否存在可疑条目。...伪装实现范围很广,从简单地重命名可执行文件(从而让这些文件看起来更像是正常系统进程)到复杂方法(例如命令行欺骗)。...如果无法检测,则可以去检测执行混淆文件恶意活动(例如,用于在文件系统上写入、读取或修改文件方法)。...此外,可以在网络上检测到用于初始访问有效载荷中使用了哪些混淆方法。还可以使用网络入侵检测系统和电子邮件网关筛选来识别压缩和加密附件和脚本。某些电子邮件附件展示系统可以打开压缩和加密附件。

1.5K10

生成ANSI格式.ps1

需求:生成ANSI格式.ps1,实现检查开机时候windows time服务是否启动状态,不是的话启动它。...if((get-service w32time).status -ne 'Running'){start-service w32time -EA 0} powershell -command xxx 如果...Command 值为脚本块,则脚本块必须用括号({})括起来 如果是在cmd中,则还需要代码块加双引号,例如"代码块"或者"& ({代码块})" 同样代码在cmd和powershell中可能有不一样效果...time%">c:\w32time.ps1 #注意>前后没有空格,有空格则达不到(生成文件是ANSI编码)效果 powershell.exe -NoProfile -Command "Add-Content...于是用cmd.exe /c echo"#""%date% %time%">c:\w32time.ps1来规避,这样生成文件第一行是#打头日期时间,后面改内容的话,用Add-Content不会改变文件格式

10610

如何高效使用PowerShell备份数据库

方便我们仅仅通过一个参数修改完成命令。上面的脚本中这个参数其实就是数据库名称。进一步而言也可能是数据表,SQL Server Agent Jobs,CSV 文件等等。...PowerShell 变得容易 如果你已经相信PS至少对于热备份是简便备份方式,我接下来在提供几个备份选项。...如下图所示,其实我们PS脚本就是封装了T-SQL脚本而已。 更多备份参数 让我们看看这个指令其他可选参数。如果我想能够了解更多信息可以使用Get-Help指令。...如果需要找到默认备份实例默认备份路径,可以执行下面的命令: (Get-Item sqlserver:\sql\localhost\default\).BackupDirectory 对于备份文件名字我一般采用日期模式...详细代码如下: Get-SqlDatabase -ServerInstance localhost | Where { $_.Name -ne '

1.8K20

如何高效使用PowerShell备份数据库

方便我们仅仅通过一个参数修改完成命令。上面的脚本中这个参数其实就是数据库名称。进一步而言也可能是数据表,SQL Server Agent Jobs,CSV 文件等等。...PowerShell 变得容易 如果你已经相信PS至少对于热备份是简便备份方式,我接下来在提供几个备份选项。...如下图所示,其实我们PS脚本就是封装了T-SQL脚本而已。 ? 更多备份参数 让我们看看这个指令其他可选参数。如果我想能够了解更多信息可以使用Get-Help指令。...如果需要找到默认备份实例默认备份路径,可以执行下面的命令: (Get-Item sqlserver:\sql\localhost\default\).BackupDirectory 对于备份文件名字我一般采用日期模式...详细代码如下: Get-SqlDatabase -ServerInstance localhost | Where { $_.Name -ne '

2.4K60

使用扩展JSON将SQL Server数据迁移到MongoDB

比如你导入了包含日期JSON格式数据,由于JOSN没有标准表示日期方法,因此它将被解析成字符串。但是你想对文档基于日期排序,它将变得很棘手,如果你想基于日期进行索引查询,感觉行不通。...在PowerShell中,我们可以很容易地证明这些: 实际上,MongoDB 导入有点问题,因为它将冗长内容和错误信息发送到不寻常地方,因此在PowerShell中不能很好地工作。...最简单方法是,它在每个文件中生成这样代码(我只显示了前面几个文档)。我选择检查是否有基于一列主键,如果有,我使用它作为MongoDB键,通过使用保留标签“_id”来指示。...7 通过PowerShell导出JSON文件 JSON文件可以通过SQL Server使用修改JSON,作为扩展JSON格式导出,其中包含临时存储过程,这些可以通过PowerShell或SQL完成...通过使用PowerShell,您可以避免打开SQL Server“表面区域”,从而允许它运行DOS命令将数据写入文件。我在另一篇文章中展示了使用SQL简单技巧和方法。

3.6K20

深度剖析幽灵电子书 | 一双窥视安全人员无形之眼

完整命令行如下: 命令行以隐藏方式启动PowerShell,并执行下载攻击者托管于Github上攻击脚本——start.ps1。...start.ps1首先向106.80.36.165发起一个HTTP请求,下载内容为一段PowerShell脚本字符串,通过Invoke-Expression直接调用,脚本内容如下: 根据脚本中指明方法...,对其中BASE64编码串进行解码、解压缩,又获得一段PowerShell脚本,内容如下: 按照脚本中指明方法对BASE64串解码,获得一段二进制数据,为32位x86指令shellcode。...接下来,GetPass.ps1将GetPass.txt作为电子邮件附件,采用STMP协议发送至电子邮箱 xxxxxxxxxx@email.ctbu.edu.cn。...然后再将之前产生DumpPass.txt,收集用户桌面上文档文件、产生计算机信息文件、屏幕截图等,打包成名为Report.zip压缩包,并通过电子邮件发送至指定邮箱。

91170
领券