Das habe ich mir ausgedacht, um mit Powershell zu scannen. Ich bin neu in Powershell, also ist es vielleicht nicht schön, aber es funktioniert.
$hostName = hostname
$appFilePath = "C:\Windows\Temp\DLL_$hostName.csv"
$scanPath = 'C:\'
$exefile = "*.exe"
$dllFile = "*.dll"
Das Folgende erstellt eine Liste aller DLLs und EXEs auf c $:
$dll = dir -ErrorAction SilentlyContinue -Recurse -Path $scanPath -Include @($exefile, $dllFile)
Im Folgenden wird in jeder Datei geprüft, ob sie auf MSXML4.dll verweist. Nimmt ungefähr 30 Minuten mit meinen 149 GB Daten auf:
$dll | Select-String "msxml4.dll" -ErrorAction SilentlyContinue | group $($_.name) | select name | export-csv -path $appFilePath`
Die Ausgabe ist nicht formatiert, daher erhalten Sie Folgendes:
C:\Windows\SysWOW64\migwiz\unbcl.dll:45:Cclass UnBCL::TimeSpan __thiscall UnBCL::TimeSpan::Add(const class UnBCL::TimeSpan &) constresult of TimeSpan additio..... and so on
Die Datei unbcl.dll befindet sich auf jedem Computer, den ich gescannt habe, und kann ignoriert werden. Ich denke, es ist nur auf der Suche nach MSXML4.dll, auch wenn es nicht auf dem Computer ist.
Sie werden auch so tolle Sachen bekommen:
"C:\Users\USERX\Documents\Toad for Oracle 10.1 - R2 Commercial.exe:5045:File_Name=""msxml4.dll"" "