PowerShell 这是如何工作的:$rv = 1 |选择对象-属性名称、类型、值

问题描述 投票:0回答:1

我在这里搜索信息,以使用 PowerShell v5.1 快速查找所有注册表项属性,并找到一个完美运行的脚本,但我不明白其中一行是如何工作的,也找不到有关它的任何信息。另外,这是我第一次在这里发帖,所以如果我需要纠正任何内容,请告诉我。

这是我希望获得有关其工作原理和原因的更多信息的行:

$rv = 1 | Select-Object -Property Name, Type, Value

我已经阅读了 Select-Object 的手册,但没有看到任何说明它可以创建新属性的信息。是否有人可以分享一个链接,该链接指向我解释如何将字符串通过管道传输到 Select-Object 以创建新属性的信息?

这是脚本:

function Get-RegistryValue
{
    param
    (
        [Parameter(Mandatory = $true)]
        $RegistryKey
    )

    $key = Get-Item -Path "Registry::$RegistryKey"
    $key.GetValueNames() |
    ForEach-Object {
        $name = $_
        $rv = 1 | Select-Object -Property Name, Type, Value
        $rv.Name = $name
        $rv.Type = $key.GetValueKind($name)
        $rv.Value = $key.GetValue($name)
        $rv
  
    }
}

以下是我找到信息的页面链接:

powershell variables methods properties select-object
1个回答
0
投票

简单:

Select-Object
返回一个
[PSCustomObject]
,其中仅包含传递给它的任何对象中声明的属性。

在文档中

© www.soinside.com 2019 - 2024. All rights reserved.