2012-07-13 95 views
1

我試圖從註冊表項如何獲取registryKey名稱而不是完整的註冊表鍵值路徑?

$Key="hklm:\SOFTWARE\Wow6432Node\MyCompany\MyProj" 
$ComponentKeys=Get-ChildItem -path $Key 
$ComponentName=$Components | Select-object Name 
$ComponentName 

得到所有的子註冊表項,它會顯示類似下面

Name 
---- 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProj\Service 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProj\UserInterface 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProj\DataSetView 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProj\Notification 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProj\Model 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyProj\Management 

但我只是想找回子項的名稱不是全名的結果。

我需要導致類似下面

Name 
---- 
Service 
UserInterface 
DataSetView 
Notification 
Model 
Management 

如何獨自拿到鑰匙的名字嗎?

+0

僅供參考,這不是關鍵。這是一個價值名稱。你想要的價值名稱。關鍵是'HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MyCompany \ MyProj \'值爲* service *並且該值所保存的信息被稱爲* data * – NapkinBob 2017-04-24 18:03:32

回答

3

是否這樣?

$ComponentName=$Components | select pschildname 
+0

是否無法從$ ComponentName獲取它? – Samselvaprabu 2012-07-13 13:45:10

+1

有點難看:'$ componentName | %{$ _。name.split('\')| select -last 1}' – 2012-07-13 13:49:20

3

只能與名稱開關得到名稱:

$Key="hklm:\SOFTWARE\Wow6432Node\MyCompany\MyProj" 
Get-ChildItem $key -Name 

如果你已經有一個可變的路徑,使用Split-Path的cmdlet:

$componentName | Split-Path -Leaf 
+0

我的命令不使用大括號,我究竟在哪裏丟失了它? – 2012-07-13 17:19:29

+0

使用該命令時,它顯示keyname爲MyProj}。我不知道爲什麼它添加了打開和關閉大括號「{hklm:\ SOFTWARE \ Wow6432Node \ MyCompany \ MyProj}」 – Samselvaprabu 2012-07-13 17:33:59

+0

@Samselvaprabu哪個命令? – 2012-07-13 18:40:08

相關問題