我如何编辑一个@{,powershell自动把注册表项?



所以我有一个powershell命令来获取注册表项。但是当使用select-pattern时,它总是在一行内粘贴整个键,我一直在到处搜索,但没有地方告诉我如何只从行中抓取某些语言,而不返回完整的喜欢。像下图:

Line       : @{t0_recursive=\ad; t7_recursive=\adchrolit; t5_recursive=\adarolit; t3_recursive=k:; 
             t9_recursive=\adfwrolit; t10_recursive=\adlarolit; t15_recursive=\adslrolit; 
             t6_recursive=\adbrolit; t11_recursive=\admirolit; t14_recursive=\adsfrolit; 
             t12_recursive=\adnyrolit; t2_recursive=j:; t16_recursive=\adenfcases; t1_recursive=f:; 
             t8_recursive=\addrolit; t4_recursive=m:; t13_recursive=\adplrolit; t17_recursive=C:ENFProcessing; 
             t129=c:enfprocessing; t99=\adslrolit; t9=\ad; t84=\adsfrolit; t69=\adplrolit; t54=\adnyrolit; 
             t39=\admirolit; t279_recursive=C:Users; t264=\adfwrolit; t249=\addrolit; t24=\adlarolit; 
             t234=\adchrolit; t219=\adbrolit; t204=\adarolit; t159_recursive=\AD.SEC.GOVProjects; 
             t144_recursive=\AD.SEC.GOVusers; t114=\adenfcases; 
             PSPath=Microsoft.PowerShell.CoreRegistry::HKLMSOFTWAREPoliciesAdobeAdobe 
             AcrobatDCFeatureLockDowncTrustedFolderscAlwaysTrustedForJavaScript; 
             PSParentPath=Microsoft.PowerShell.CoreRegistry::HKLMSOFTWAREPoliciesAdobeAdobe 
             AcrobatDCFeatureLockDowncTrustedFolders; PSChildName=cAlwaysTrustedForJavaScript; 
             PSProvider=Microsoft.PowerShell.CoreRegistry}

我得到这个输出,但不能只返回PSPath和C:Users*,它总是返回整行。

为什么会这样?

$value = Get-ChildItem -Path 'Registry::HKEY_CURRENT_USERSOFTWAREAdobeAdobe AcrobatDCTrustMangercTrustedFolder'  2>NULL | findstr : | measure-object -line | select-object -expandproperty lines ; if ( $value -lt 1 ) { echo 'PASSED, HKEY_CURRENT_USERSOFTWAREAdobeAdobe AcrobatDCTrustMangercTrustedFolder is NULL' } else { $value2 = Get-ChildItem -Path 'Registry::HKEY_CURRENT_USERSOFTWAREAdobeAdobe AcrobatDCTrustMangercTrustedFolder' -Recurse | ForEach-Object {Get-ItemProperty -Path $_.PSPath -Name t*} |Select-String -Pattern 'c:\users*' | select -ExpandProperty Line| findstr /i /V /c:Desktop, /c:downloads|format-list LineNumber,Line

我试着用谷歌搜索如何在powershell中编辑行,但无济于事。

取出findstr。它将对象转换为字符串。

get-childitem的输出对于注册表来说有点混乱。格式化文件$PSHOMERegistry.format.ps1xml运行get-itemproperty。使用get-itemproperty获取注册表值。

我有一个可以用于递归搜索的get-itemproperty的替代品:使用PowerShell在注册表项和值中搜索字符串

例如:

get-childitem -recurse hklm:softwareadobe | get-itemproperty2 | 
  ? name -like distiller*
Path                                                  Name      Value  Type
----                                                  ----      -----  ----
HKLM:softwareadobeAcrobat Distiller10.0Uninstall Distiller     1 DWord

最新更新