1

我想在 Powershell 的子结果集中包含一个父级属性,但我不知道该怎么做。我想要做的一个例子是将 ServerName 作为管道的第一列来获取 DatabaseName 和服务器上所有数据库的数据库属性列表,类似于:

[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

这是我正在尝试做的一个简化示例,(我可以轻松地使用 Database Parent 属性来获取 $s.Name)但我有更复杂的应用程序,我想使用这种类似的方法和 Parent财产不是我所追求的。此外,如果我可以将 $s.Name 别名为 ServerName 并将 $_.Name 别名为 DatabaseName ,那将是理想的输出。

编辑:

我花了两天时间在网上搜索如何做到这一点,但找不到任何参考。如果你碰巧谷歌/必应/无论答案,如果你也分享你曾经找到它的东西,我会非常感激。我通常可以找到问题的答案,但两天后,我只是把好时光抛在了后面。

4

1 回答 1

3

你不想要 Parent 属性吗?

$s.Databases | select Parent, Name, AutoShrink

编辑:

$s.Databases | select @{Name="ServerPlatform"; Expression={$_.Parent.Platform}}, Name, AutoShrink
于 2010-01-28T02:29:56.513 回答