0

我正在寻找一些代码来搜索日志文件的注册表内容。具体来说:

Get-ItemProperty -path hklm:\system\currentcontrolset\enum\usbstor\*\* | select PSChildName

将列出序列号。对于每个序列号,我需要能够搜索文本日志文件以查看该项目何时出现。

这是我现在使用的:

Get-ItemProperty -path hklm:\system\currentcontrolset\enum\usbstor\*\* | select PSChildName | foreach-object {Get-Content C:\Windows\inf\setupapi.dev.log | select-string '$_.PSChildName' -context 1}

但是搜索PSChildName不起作用,我错过了什么?

4

1 回答 1

0

我认为它的原因是| 没有通过 $_.PSChildName 发送任何东西。所以你可以使用 2 个解决方案中的 1 个

解决方案 1

Get-ItemProperty -path hklm:\system\currentcontrolset\enum\usbstor\*\* | select PSChildName | foreach-object {$P = $_.PSChildName ; Get-Content  C:\Windows\inf\setupapi.dev.log | select-string $P -SimpleMatch -context 1} 

解决方案 2

$KeyListArray = @()
    Foreach($key in Get-ItemProperty -path hklm:\system\currentcontrolset\enum\usbstor\*\* | select PSChildName)
    {$KeyListArray +($key)}


foreach($PsChild in $KeyListArray)
{Get-Content C:\Windows\inf\setupapi.dev.log | select-string -Pattern "$PsChild" -context 1}
于 2012-07-19T22:16:57.727 回答