ネタ元:http://powershell.com/cs/blogs/tips/archive/2015/04/15/getting-registry-values-and-value-types.aspx
-
- キーが存在するか
(Get-Item -Path "Registry::HKLM\Software\Microsoft\Windows\CurrentVersion")
-
- サブキー一覧
(Get-Item -Path "Registry::HKLM\Software\Microsoft\Windows\CurrentVersion").GetValueNames()
-
- サブキー名を指定 Registry の Type 取得
(Get-Item -Path "Registry::HKLM\Software\Microsoft\Windows\CurrentVersion").GetValueKind("DevicePath")
-
- サブキー名を指定して Registryの Value 取得
(Get-Item -Path "Registry::HKLM\Software\Microsoft\Windows\CurrentVersion").GetValue("DevicePath")
-
- 特定のキー以下のサブキーのType全取得
$key=(Get-Item -Path "Registry::HKLM\Software\Microsoft\Windows\CurrentVersion"); $key.GetValueNames()|ForEach-Object{ $key.GetValueKind($_) }
-
- 特定のキー以下のサブキーのValue全取得
$key=(Get-Item -Path "Registry::HKLM\Software\Microsoft\Windows\CurrentVersion"); $key.GetValueNames()|ForEach-Object{ $key.GetValue($_) }
-
- 特定のキー以下のサブキーの名前, Type, Value をいい感じに出す
$key=(Get-Item -Path "Registry::HKLM\Software\Microsoft\Windows\CurrentVersion"); $key.GetValueNames()|ForEach-Object{$name=$_; $rv = (1 | Select-Object -Property Name, Type, Value); $rv.Name= $name; $rv.Type=$key.GetValueKind($_);$rv.Value=$key.GetValue($_); $rv }
Type の表示は Microsoft.Win32.RegistryValueKind がでているようなので
https://msdn.microsoft.com/ja-jp/library/microsoft.win32.registryvaluekind%28v=vs.110%29.aspx
や
http://www.atmarkit.co.jp/fdotnet/dotnettips/478registryvaluekind/registryvaluekind.html を確認してください。