2015-11-30 82 views
-2

我有一個文件共享需要數小時才能掃描。最近我被要求製作一個腳本,可以在一分鐘內超過100個文件發生變化時發送郵件。我怎麼去解決他的問題?可能是powershell,可能是任何可以啓用這種「掃描」的東西。跟蹤大文件共享上的最後修改日期

+1

「需要數小時才能掃描」。 「掃描」是什麼意思,到目前爲止您嘗試了什麼? –

+0

我一直在尋找有關此文件共享的權限組。運行文件共享中的每個文件夾並查找ACL需要花費數小時。 到目前爲止,我一直都沒有嘗試過,因爲我無法圍繞如何跟蹤由分鐘改變的文件中的更改,當共享花費數小時來「掃描」時。 –

+0

如果您只對文件本身的更改感興趣,則不需要每次都檢索ACL –

回答

1

如果你想這對每運行5分鐘,你可以檢索與LastWriteTime屬性值不到5分鐘老的所有文件,然後按分鐘的文件:

$Threshold = (Get-Date).AddMinutes(-5) 
$FilesPerMinute = Get-ChildItem C:\folder\share -Recurse |Where-Object { 
    $_.LastWriteTime -ge $Threshold 
} |Group-Object { $_.LastWriteTime.Minute } -NoElement 
if($FilesPerMinute |Where {$_.Count -ge 100}){ 
    # alert 
} 

你可能發現FileSystemWatcher在您的情況下是更好的選擇,儘管

+0

我會試試這個!謝謝 –

+0

我試圖跟蹤的文件共享超過4 TB的文件夾和文件。所以這可能不會在5分鐘內完成,你能想到任何可能做到這一點的事情嗎?也許FileSystemWatcher? –

+0

是的,審計 - 打開文件系統審計,每分鐘解析安全日誌文件,看看是否有超過100個文件被修改 –