diff --git a/trunk/report_templates/SOFTWARE_ProfileList.qs b/trunk/report_templates/SOFTWARE_ProfileList.qs new file mode 100644 index 0000000..4737f45 --- /dev/null +++ b/trunk/report_templates/SOFTWARE_ProfileList.qs @@ -0,0 +1,42 @@ +function IsValid(val) { + if(typeof val !== 'undefined') return true; + else return false; +} + +function print_table_row(cell01,cell02) { + println(" ",cell01,"",cell02,""); +} + +// Global vars +var val; + +println(""); +println(" Profile List"); +println(" "); +println("

Profile List

"); + +var profile_list=GetRegistryNodes("\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList"); +if(IsValid(profile_list) && profile_list.length>0) { + for(var i=0;i"); + println(" "+profile_list[i]+"
"); + println(" "); + + // Get profile image path + val=GetRegistryKeyValue("\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\"+profile_list[i],"ProfileImagePath"); + print_table_row("Profile image path:",IsValid(val) ? RegistryKeyValueToString(val.value,val.type) : "n/a"); + + // Get last load time (Saved as 2 dwords. Another "good" idea of M$ ;-)) + var loadtime_low=GetRegistryKeyValue("\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\"+profile_list[i],"ProfileLoadTimeLow"); + var loadtime_high=GetRegistryKeyValue("\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\"+profile_list[i],"ProfileLoadTimeHigh"); + print_table_row("Profile load time:",(IsValid(loadtime_low) && IsValid(loadtime_high)) ? RegistryKeyValueToVariant(loadtime_low.value.append(loadtime_high.value),"filetime",0) : "n/a"); + + println("
"); + println("

"); + } + println(" "); +} else { + println("         None"); +} + +println("");