Find/sort files and folders based on when they were accessed/opened

1,621

Solution 1

Well, if they were just browsing your computer, then you are out of luck. NTFS has a "last accessed" attribute, but it is disabled by default on Windows 7. If they changed any files, they would be located under the Date modified. Where were these files located? What kind of permissions are available (ACL)?

Windows DOES by default keep a log of every time a user logs in, unlocks the computer, etc. It would be under the Event Viewer's Audit Log.

Solution 2

On any given folder, in the right pane, right click on the name header and select "more...", then scroll down to "Date Accessed" and tick the box, it will now show the date and time if any thing was written, changed or deleted from the folder (write), it will not show if it was just opened and looked at (read), something has to change for the date to be updated. This will not show you who accessed it, it could be a user or the system itself.

enter image description here

.

enter image description here

To enable Last Accessed (which will time stamp for a read and write), open an elevated command prompt and type this i and hit Enter

There will be a system performance hit if you enable it.

 fsutil behavior set disablelastaccess 0

To disable it

 fsutil behavior set disablelastaccess 1
Share:
1,621

Related videos on Youtube

Erkan Demir
Author by

Erkan Demir

Updated on September 18, 2022

Comments

  • Erkan Demir
    Erkan Demir almost 2 years

    I'm using ngInfiniteScroll ng-module for my pagination. When i scroll down the page i'm appending 20 records to my data table. By doing that, i'm actually running a http request each time ("not good for performance).

    I've been doing some research and came across adding a LimitTo with the ngInfiniteScroll. Not sure how to implement this. Could someone please give me any suggestions.

       <table infinite-scroll='tF.loadMore()' infinite-scroll-disabled='tF.isBusy' infinite-scroll-distance='3' class="responsive">
                <thead>
                    <tr>
                        <th>FIRST NAME</th>
                        <th>LAST NAME</th>
                        <th>USERNAME</th>
                        <th>EMAIL</th>
                        <th>CREATED DATE</th>
                        <th>STATUS</th>
                        <th>IS ONLINE</th>
                        <th>ACTIONS</th>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="item in tF.items | filter:searchFilter">
                        <td>{{item.FirstName}}</td>
                        <td>{{item.LastName}}</td>
                        <td>{{item.Username}}</td>
                        <td>{{item.Email}}</td>
                        <td>{{item.CreatedDate | date:'medium'}}</td>
                        <td></td>
                        <td></td>
                        <td></td>
                    </tr>
                </tbody>
                <tfoot ng-show='tF.isBusy'>
                    <tr>
                        <td colspan="9"><spinner show="tF.isBusy" /><span class="bold">{{tF.status}}</span> </td>
                    </tr>
                </tfoot>
            </table>
    

    /**** CONTROLLER.JS *****/

        var vm = this;
        var page = 0;
        vm.items = [];
        vm.isBusy = false;
    
        vm.loadMore = function ()
        {
            if(vm.isBusy) return;
            vm.isBusy = true;
    
            userService.GetAllRecords(page)
            .success(function (data)
            {
                var results = data;
    
                for (var i = 0; i < results.length; i++)
                {
                    vm.items.push(results[i]);
                }
    
                page++;
                vm.isBusy = false;
    
            }.bind(vm))
            .error(function (error)
            {
                vm.status = 'Error retrieving data! ' + error.message;
            })
            .finally(function ()
            {
                vm.isBusy = false;
            });
        }
    
    • devqon
      devqon about 9 years
      If you don't want to load new data everytime, then why use infinite scroll? What is your goal?
    • Erkan Demir
      Erkan Demir about 9 years
      I do want to load new data every time. However i was wondering if there is an alternative way of loading the data instead of calling a http request everytime i scroll. e.g. load all the data once when use the limitTo filter to append the data
    • devqon
      devqon about 9 years
      Yeah you can load all data at once, and append pieces while scrolling. But I really think a http request is what you would want with an infinite scroll
    • Erkan Demir
      Erkan Demir about 9 years
      Couldn't i just call a http request once, and load all the data to an array. then use limitTo filter to append e.g. + 20 records each time i scroll ?
  • tvguide1234
    tvguide1234 almost 13 years
    The files are all located on my 'Local C' drive. I only have 1 user who is an admin so they had full permissions and the computer was already logged in when they went on it.
  • surfasb
    surfasb almost 13 years
    Not locked admin account. Game over. Nothing else I can think of by default. Tips for next time? Lock the computer. Window key + L is the shortcut. You can also use the Power Settings to have the computer lock when the monitor goes to sleep. I hope nothing disastrous comes out of this.
  • tvguide1234
    tvguide1234 almost 13 years
    Ah damn alright. I'll leave it up for a day few hours to see if anyone else has any ideas. Thanks for the help though!
  • surfasb
    surfasb almost 13 years
    Sucks that the "Last access" is off by default for ya. I remember when Microsoft made that decision on Technet. They reasoned that it confused a lot of customers because they were unaware what and why it would change. You would essentially have to give a 2 hour lecture to explain all the possible outcomes on why it would change. Plus it started to affect performance as hard drive sizes ballooned.
  • tvguide1234
    tvguide1234 almost 13 years
    Just to confirm, this wouldn't show me any information if someone just browsed through my pictures without changing anything correct?
  • Moab
    Moab almost 13 years
    The first method, no, the second yes, but has to be enabled Before the snoop looked at files. If they opened the pictures in some sort of viewer it may change the "date accessed" time stamp, have not verified this.
  • surfasb
    surfasb almost 13 years
    Last accessed time is disabled by default on Windows 7. Plus, opening a picture in some sort of viewer or getting a preview through Explorer WILL change the time. technet.microsoft.com/en-us/library/cc781134(WS.10).aspx
  • Erkan Demir
    Erkan Demir about 9 years
    Hey Joshua, What is the difference of your post with my original code ?
  • Joshua Kelly
    Joshua Kelly about 9 years
    tF.loadMore() / tF.isBusy. Without seeing the rest of your code, tF has no reference.
  • Erkan Demir
    Erkan Demir about 9 years
    "tF" is my naming convention. I'm using ControllerAS: in my ui-router state
  • Erkan Demir
    Erkan Demir almost 9 years
    The reason why i want to do the http request once is due to i have search filter, and you can only filter by the available records showing not the entire data list. @devqon
  • devqon
    devqon almost 9 years
    Yeah then you can totally do that, but if you have thousands of records that would not be a good idea. You could always do server side filtering with search
  • Erkan Demir
    Erkan Demir almost 9 years
    I will probably end up having a million records. What would be a better solution ? @devqon
  • yedevtxt
    yedevtxt over 7 years
    Does anyone know how much of a performance hit this is? I understand this is a relative and depends kind of question. The benefits seem to be a good thing but does it out weight the performance hit?