ChatGPT říká, že to powershellem nejde. Že jen jestli je na složce indexování zapnuto, ale jestli je jen na názvy souborů nebo i na obsah říká, že z PS nezjistíš.
O informaci v registru říká toto (jestli to čtu správně, tak je to jen filtr podle typu, resp přípony):
Ano, informace o indexování složek a nastavení indexování můžeš najít v registru Windows. Konkrétně nastavení indexování souborů a složek je uloženo v následujícím klíči:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search
Tady je několik zajímavých klíčů týkajících se indexování:
FileChangeClientConfigs – Tento klíč obsahuje informace o tom, jaké složky jsou indexovány a jaké ne.
Gather – Zde můžeš najít základní nastavení služby indexování.
SetupCompletedSuccessfully – Informace o tom, zda byl systém indexování úspěšně nakonfigurován.
Dále, detailní nastavení, jestli se indexují pouze názvy souborů nebo jejich obsah, najdeš podle typu souborů v sekci:
HKEY_CLASSES_ROOT
Zde se nachází jednotlivé typy souborů a jejich asociace. Každý typ souboru může obsahovat podklíč, který určuje, zda je daný typ souboru indexován, nebo zda se indexuje pouze název, nebo i obsah.
Například pro soubory .txt můžeš najít relevantní nastavení zde:
HKEY_CLASSES_ROOT.txt
V rámci této větve může být klíč PersistentHandler, který určuje, jak je soubor zpracováván pro indexaci.
Zjištění, zda je obsah indexován:
Pro každý typ souboru je nastaven Indexing Filter, který rozhoduje, zda se indexuje pouze název nebo i obsah. Zde je příklad:
Pouze názvy souborů – Pokud v registru není uveden filtr pro daný typ souboru, systém indexuje pouze názvy souborů.
Indexování obsahu – Pokud je uveden filtr (např. Plain Text Filter pro textové soubory), indexuje se i obsah.
Indexovací filtry jsou uloženy v tomto klíči registru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap
Zde můžeš najít mapování mezi příponami souborů a jejich druhy pro účely indexace.
Jak to zjistit pomocí PowerShellu?
Pokud chceš zkusit zjištění přímo přes PowerShell, tady je příklad, jak bys mohl načíst hodnotu z registru pro přípony souborů a jejich asociace:
powershell
Zkopírovat kód
# Příklad pro .txt soubory
$regPath = "HKCR\.txt"
$indexFilter = Get-ItemProperty -Path Registry::$regPath | Select-Object -ExpandProperty "(Default)"
# Zobrazí, jaký filtr je použit pro indexaci
$indexFilter
Tento skript vrátí asociaci pro daný typ souboru a pokud je přidán filtr pro indexování obsahu, bude zde viditelný.
Můžeš si tímto způsobem procházet jednotlivé přípony a jejich nastavení.