访问 PowerShell 管道属性

Access PowerShell pipeline properties

有没有办法在下一个命令的输出中公开上一个命令的管道属性。下面将遍历每个 SQL 服务器并获取数据库。输出只给我数据库名称,但我正在寻找一种方法也可以在输出中获取服务器名称。

Get-AzureSqlDatabaseServer | Get-AzureSqlDatabase

您可以为此使用 Foreach-Object cmdlet:

Get-AzureSqlDatabaseServer | Foreach-Object { 
    $db = $_ | Get-AzureSqlDatabase 
    $db | Add-Member NoteProperty -name ServerName -value $_.ServerName
    $db
}

您可以结合上一个命令的 Select-Object with the -PipelineVariable common parameter (pv):

Get-AzureSqlDatabaseServer -pv Server |Get-AzureSqlDatabase |Select-Object *,@{Label='ServerName';Expression={$Server.ServerName}}