微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

filesystemwatcher powershell 在我的机器上工作,但不适用于我同事的剧本是一样的

如何解决filesystemwatcher powershell 在我的机器上工作,但不适用于我同事的剧本是一样的

我正在使用 filesystemwatcher 来监视使用 powershell 的特定文件的创建和更改。我猜这个脚本每 5 秒轮询一次。 在我的机器上工作。它在我的同事机器上不起作用。 下面是脚本。基本上问题发生在检测到事件后的定义操作中

$action = { $path = $Event.sourceEventArgs.FullPath。出于某种原因,它没有检测到事件并在他的机器中调用一个动作。 我正在尝试找出故障排除步骤。为什么它在我的机器上运行良好而不在他的机器上运行? PS-我在我的机器上有管理员权限,而他不是他的管理员。我运行这个脚本的方式是右键单击并作为 powershell 运行。执行模式在我们的两台机器中都受到限制。

$global:DownloadsPath = (New-Object -ComObject Shell.application).NameSpace('shell:Downloads').Self.Path
 $watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $global:DownloadsPath
$watcher.Filter = "frmh.seq" 
$watcher.IncludeSubdirectories = $false
$watcher.EnableRaisingEvents = $true  

 Write-Host ("Within ScriptMonitoring")

 ### DEFINE ACTIONS AFTER AN EVENT IS DETECTED

  $action = { $path = $Event.sourceEventArgs.FullPath
  $FolderPath = $global:DownloadsPath
  Write-Host ("Within ScriptMonitoring")
 $loglocation = $FolderPath + "\Watcherlogs.txt"

$frmhLocation = $FolderPath + "\frmh.seq"
$controlDocLocation=  $FolderPath + "\control.doc"
            $changeType = $Event.sourceEventArgs.ChangeType
     $logline = "$(Get-Date),$changeType,$path"
            Add-content $loglocation $logline      

      & ".\anotherscript.ps1" -SourceOfPcforms $FolderPath -SourceFileFrmhSeq $frmhLocation - 
      SourceFileControlDoc $controlDocLocation
            
        } ### DECIDE WHICH EVENTS SHOULD BE WATCHED 
 $created = Register-ObjectEvent $watcher "Created" -SourceIdentifier 'FileCreated' -Action $action
 $changed = Register-ObjectEvent $watcher "Changed" -SourceIdentifier 'FileChanged' -Action $action

    Write-Host ($created)
      Write-Host ($changed)

while ($true) {sleep 5}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。