2012-11-05 31 views
1

我有一個註冊表項,其中包含多個字符串名稱/數據值(它們是REG_SZ類型)。我想列出名稱/數據值並按名稱值排序。我想在PowerShell中做到這一點。我可以用Get-ItemProperty得到這些值,但我不知道如何用Sort-Object進行排序。正如你在下面看到的那樣,它沒有排序。如何通過PowerShell中的REG_SZ名稱值對註冊表項名稱值進行排序

$item = Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources' | Sort-Object 


PSPath      : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data S 
          ources 
PSParentPath    : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI 
PSChildName     : ODBC Data Sources 
PSProvider     : Microsoft.PowerShell.Core\Registry 
MSDWDATA_DEFAULT_SYBASE4.00 : DataDirect 4.0 Sybase Wire Protocol 
Xtreme Sample Database 2003 : Microsoft Access Driver (*.mdb) 
NYT_OPS      : DataDirect 4.2 Sybase Wire Protocol 
NYP_OPS      : DataDirect 4.2 Sybase Wire Protocol 
NYP_MSPA2     : DataDirect 4.2 Sybase Wire Protocol 
NYT_MSPA_A     : DataDirect 4.2 Sybase Wire Protocol 

回答

3
$p = Get-ItemProperty -Path 'HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources' 
$p.PSObject.Properties | Sort-Object Value| Format-Table Name,Value 
+0

+1少醜;) –

+0

他,他,謝謝:) –

0

真難看:

$item = Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources' | 
out-string -Stream | sort 

或值(更醜):

$item = Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources' | 
out-string -Stream | sort { ($_.split(':'))[1] } 
相關問題