/// <summary> /// The ProcessRecord method reads the raw contents of the Amcache.hve into memory and parses its /// values to create/output AppCompat Objects. /// </summary> protected override void ProcessRecord() { switch (ParameterSetName) { case "ByVolume": WriteObject(Amcache.GetInstances(volume), true); break; case "ByPath": WriteObject(Amcache.GetInstancesByPath(hivePath), true); break; } }
/// <summary> /// /// </summary> /// <param name="volume"></param> /// <returns></returns> public static ForensicTimeline[] GetInstances(string volume) { List <ForensicTimeline> list = new List <ForensicTimeline>(); string volLetter = Helper.GetVolumeLetter(volume); // File System list.AddRange(ForensicTimeline.GetInstances(FileRecord.GetInstances(volume))); // Amcache list.AddRange(ForensicTimeline.GetInstances(Amcache.GetInstances(volume))); // Prefetch list.AddRange(ForensicTimeline.GetInstances(Prefetch.GetInstances(volume))); // ScheduledJob list.AddRange(ForensicTimeline.GetInstances(ScheduledJob.GetInstances(volume))); // UserAssist list.AddRange(ForensicTimeline.GetInstances(UserAssist.GetInstances(volume))); // ShellLink list.AddRange(ForensicTimeline.GetInstances(ShellLink.GetInstances(volume))); // UsnJnrl list.AddRange(ForensicTimeline.GetInstances(UsnJrnl.GetInstances(volume))); // EventLog list.AddRange(ForensicTimeline.GetInstances(EventRecord.GetInstances(volume))); // Registry list.AddRange(ForensicTimeline.GetInstances(NamedKey.GetInstancesRecurse(volLetter + "\\Windows\\system32\\config\\DRIVERS"))); list.AddRange(ForensicTimeline.GetInstances(NamedKey.GetInstancesRecurse(volLetter + "\\Windows\\system32\\config\\SAM"))); list.AddRange(ForensicTimeline.GetInstances(NamedKey.GetInstancesRecurse(volLetter + "\\Windows\\system32\\config\\SECURITY"))); list.AddRange(ForensicTimeline.GetInstances(NamedKey.GetInstancesRecurse(volLetter + "\\Windows\\system32\\config\\SOFTWARE"))); list.AddRange(ForensicTimeline.GetInstances(NamedKey.GetInstancesRecurse(volLetter + "\\Windows\\system32\\config\\SYSTEM"))); return(list.ToArray()); }