代码之家  ›  专栏  ›  技术社区  ›  Jonathan Kehayias

在PowerShell的子select中获取父属性?

  •  1
  • Jonathan Kehayias  · 技术社区  · 16 年前

    我想在PowerShell中的子结果集中包含父级属性,但无法确定如何执行。我要做的一个例子是将servername作为获取数据库名称的管道的第一列,并列出服务器上所有数据库的数据库属性,类似于:

    [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
    $s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') "SQLSERVER"
    
    $s.Databases | select $s.Name, Name, AutoShrink, AutoClose
    

    这是一个简单的例子,说明我正在尝试做什么(我可以很容易地使用数据库父属性来获取$s.name),但我有更复杂的应用程序,我想使用类似的方法,父属性不是我想要的。另外,如果我可以将$s.name别名为servername,将$u.name别名为databasename,那么它将是理想的输出。

    编辑:

    我花了两天时间在网上寻找如何做到这一点,找不到任何参考资料。如果你在google/bing/不管答案是什么,如果你也分享你过去发现的,我会非常感激。我一般都能找到问题的答案,但两天后,我只不过是把好时光抛在了坏时光之后。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Rob Farley    16 年前

    您不想要父属性吗?

    $s.Databases | select Parent, Name, AutoShrink
    

    编辑:

    $s.Databases | select @{Name="ServerPlatform"; Expression={$_.Parent.Platform}}, Name, AutoShrink
    
    推荐文章