首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Powershell to Event

Powershell to Event
EN

Stack Overflow用户
提问于 2016-04-19 20:38:33
回答 1查看 99关注 0票数 2

我曾尝试编写一个PowerShell脚本,当文件夹中的文本文件超过15分钟时,该脚本会写入一个事件。

这是我尝试使用的代码:

代码语言:javascript
运行
复制
$targetfile=get-childitem C:\Users\user\Desktop\bizin\*.txt

if ($targetfile.AddMinutes -15 ) 

{

write-eventlog -logname Application -source ESENT -eventID 9999 -entrytype Error -message "No new files in 15min gate is down!" -category 3 

'create event log to say bad things have happened'

}

当我运行脚本时,我总是得到事件。当文件超过15分钟时,我只想得到一个事件。这将是一个计划任务,每15分钟运行一次。

EN

回答 1

Stack Overflow用户

发布于 2016-04-19 20:45:19

您需要访问文件的LastWriteTime属性,并将其与DateTime对象进行比较:

代码语言:javascript
运行
复制
$targetFiles = Get-ChildItem -Path 'C:\Users\user\Desktop\bizin\' -Filter *.txt
foreach ($targetFile in $targetFiles)
{
    if ($targetFile.LastWriteTime -lt [DateTime]::Now.AddMinutes(-15))
    {
        # Write the eventlog....
    }
}

注意:您可以使用Get-ChildItem cmdlet-Filter参数来仅检索txt文件。下面是在一行中使用别名和管道的相同示例:

代码语言:javascript
运行
复制
gci -Path 'C:\Users\user\Desktop\bizin\' -Filter *.txt | ? { $_.LastWriteTime -lt [DateTime]::Now.AddMinutes(-15) } | % { <# Write the eventlog... #> }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36718647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档