fwak Posted May 3, 2023 Posted May 3, 2023 (edited) Salut tout le monde, suite à la perte subite et visiblement irréversible de la carte SD 256Go qui me servait de second disque dur sur mon laptop, je me demande comment lire le "contenu" de l'index Windows ? Afin de mieux visualiser l'étendue de ce que j'ai perdu. A priori, rien de critique, mais histoire de parcourir vite fait. Savez-vous comment faire ? Merci d'avance. Edited May 3, 2023 by fwak Quote
ashlol Posted May 3, 2023 Posted May 3, 2023 de quel index windows parles tu ? si c'est celui qui fait l'indexation de fichier afin d’accélérer les recherches ultérieures il ne contiendra pas tout et il faut que tu l'ai indexé au moins une fois avant évidemment donc ajouté manuellement à l'indexation. si c'est ça le fichier se trouve ici C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb il faudra arréter le service d'indexation pour pouvoir accéder au fichier et il faut utiliser ce dépot github pour le lire https://github.com/moaistory/WinSearchDBAnalyzer si tu parles de la table mbr ou gpt et/ou des partitions fat32/ntfs de la carte sd il faut pour cela que au moins la carte sd soit reconnue même vierge, si c'est le cas alors photorec (https://www.cgsecurity.org/wiki/PhotoRec) est l'outil qu'il te faut 1 Quote
fwak Posted May 4, 2023 Author Posted May 4, 2023 Un grand merci pour ces détails @ashlol. Je vais tenter l'option 1, car l'option 2 n'est pas possible, la carte n'est définitivement pas visible/lisible, sur aucun appareil. Quote
r.chatigré Posted May 4, 2023 Posted May 4, 2023 Un petit powershell qui dump les entrées de Windows Search (merci au site Scripting Guy https://devblogs.microsoft.com/scripting): (attention, le fournisseur est très pointilleux sur la requête) Set-StrictMode -v 2 $ErrorActionPreference = "Stop" $con = New-Object -ComObject ADODB.Connection $rs = New-Object -ComObject ADODB.Recordset $req = "SELECT System.ItemPathDisplay FROM SYSTEMINDEX " $con.Open("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';") $rs.Open($req, $con) $rs.MoveFirst() do { foreach( $f in $rs.Fields) { Write-Output "$($rs.Fields.Item($f.Name).Value)" } $rs.MoveNext() } Until ($rs.EOF) $rs.Close() $con.Close() 2 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.