这一点:
PS C:\Users\mrubinstein> C:\pscode\Untitled31.ps1
@{newproperty=anewvalue; aPrivKey=Adobe.PPKLite; PSPath=Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\adobe\Adobe Acrobat\11.0\security\cHandlers\; PSParentPath=Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\adobe\Adobe Acrobat\11.0\security; PSChildName=cHandlers; PSDrive=HKCU; PSProvider=Microsoft.PowerShell.Core\Registry}
@{newproperty=anewvalue; aPrivKey=Adobe.PPKLite; PSPath=Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\adobe\Adobe Acrobat\11.0\security\cHandlers\; PSParentPath=Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\adobe\Adobe Acrobat\11.0\security; PSChildName=cHandlers; PSDrive=HKCU; PSProvider=Microsoft.PowerShell.Core\Registry} 是它的输出:
$arrstring = Get-ItemProperty 'HKCU:\Software\adobe\Adobe Acrobat\11.0\security\cHandlers\' 有没有办法取回一个数组,而不是必须使用String.Split()创建自己的数组(然后再创建另一个内部数组)?
发布于 2015-12-16 04:17:18
我不太清楚你想要的结果是什么。你想要一个实际的数组吗?
anewvalue
Adobe.PPKLite
anewvalue
Adobe.PPKLite然后你需要这样的东西:
$regpath = 'HKCU:\Software\adobe\Adobe Acrobat\11.0\security\cHandlers'
$defaultProps = 'PSChildName','PSDrive','PSParentPath','PSPath','PSProvider'
Get-ItemProperty $regpath |
ForEach-Object { $_.PSObject.Properties } |
Where-Object { $defaultProps -notcontains $_.Name } |
Select-Object -expand value或者,您是否想要一个自定义对象列表,例如,可以导出到CSV?
newproperty aPrivKey
----------- --------
anewvalue Adobe.PPKLite
anewvalue Adobe.PPKLite然后你需要这样的东西:
$regpath = 'HKCU:\Software\adobe\Adobe Acrobat\11.0\security\cHandlers'
$defaultProps = 'PSChildName','PSDrive','PSParentPath','PSPath','PSProvider'
Get-ItemProperty $regpath | Select-Object -Property * -Exclude $defaultProps无论采用哪种方法,都需要从要提取的数据中删除默认属性。
https://stackoverflow.com/questions/34295233
复制相似问题