Jump to content

Recommended Posts

Posted (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 by fwak
  • fwak changed the title to Lire le "contenu" de l'index Windows 10 ?
Posted

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

  • Merci 1
Posted

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.

 

 

Posted

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()

 

  • Merci 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...