Windows Server 2012 поколения журнала изменений файла

Я задаюсь вопросом, мог ли кто-либо знать способ, которым я мог бы настроить автоматическую генерацию журнала изменений файла в каталоге в Windows Server 2012. У нас есть набор слова, экс-ячейки и файлов PDF, что я должен в настоящее время создавать журнал изменений вручную еженедельно. Интересно, возможно ли иметь дескриптор окон этот процесс. Любая справка или руководство значительно ценились бы.

1
задан 20 January 2015 в 00:29
2 ответа

Я рекомендую решение Джима Б с WMI, но если вам нужно что-то более простое с powershell:

Dir C:\folder -r | ? {! $_.PSIsContainer -AND $_.lastwritetime -ge '04/18/14'} > changed.txt

Это создаёт файл с именем changes.txt, каждый файл которого изменён в c:\folder (и это подкаталоги) со времени 04/18/14.

(кредиты: Я получил это от пользователя nixda here)

Вы можете добавить этот скрипт в свой планировщик задач, чтобы он запускался каждый день.

Я не знаю ни одного способа получить информацию о том, какой пользователь изменил файл. Это можно сделать из файлов Word и Excel на VBA.

.
0
ответ дан 4 December 2019 в 00:13

Используйте WMI. Вот версия vbscript, объясняющая, как использовать __InstanceOperationEvent из CIM_DirectoryContainsFile

http://www.codeproject.com/Articles/42212/WMI-and-File-System-Monitoring

Это может быть медленно в 2008 году, но, кажется, в 2012

Другой вариант - использовать filewatcher:

Write-Verbose ("Initializing FileSystemWatcher") -Verbose
$fileWatcher = New-Object System.IO.FileSystemWatcher
$fileWatcher.Path = "C:\folder"
Register-ObjectEvent -InputObject $fileWatcher -EventName Created -SourceIdentifier File.Created -Action {
        $Global:t = $event
        Write-Host ("File/Folder Created: {0} on {1}" -f `
        $event.SourceEventArgs.Name,
        (Split-Path $event.SourceEventArgs.FullPath)) -BackgroundColor Black -ForegroundColor Red 
        } | Out-Null
Register-ObjectEvent -InputObject $fileWatcher -EventName Deleted -SourceIdentifier File.Deleted -Action {
        $Global:t = $event
        Write-Host ("File/Folder Deleted: {0} on {1}" -f `
        $event.SourceEventArgs.Name,
        (Split-Path $event.SourceEventArgs.FullPath)) -BackgroundColor Black -ForegroundColor Red
    } | Out-Null
    Register-ObjectEvent -InputObject $fileWatcher -EventName Changed -SourceIdentifier File.Changed -Action {
        $Global:t = $event
        Write-Host ("File/Folder Changed: {0} on {1}" -f `
        $event.SourceEventArgs.Name,
        (Split-Path $event.SourceEventArgs.FullPath)) -BackgroundColor Black -ForegroundColor Red
    } | Out-Null
1
ответ дан 4 December 2019 в 00:13

Теги

Похожие вопросы