我想使用 Invoke-DbaSqlCmd 在 PowerShell 中查询 SQL Server。
Invoke-DbaSqlCmd -SqlInstance DBA -Query 'exec xp_fixeddrives'
这将返回一个 System.Data.DataRow 对象。对象类型并不重要。重要的是要知道结果会因 SQL Server 语言而异。在法语中,它将是“Mo disponible”,而英语将是“MB Free”。我希望我的代码可以使用任何可用的 SQL Server 语言。
我想在不使用 Get-Member 的情况下选择第二列。就像这里的解决方案:
$RST = Invoke-DbaSqlCmd -SqlInstance DBA -Query 'exec xp_fixeddrives'
$SecondCol = ($RST | Get-Member -MemberType Properties)[1].Name
$RST.$SecondCol
有没有一种优雅的方式来返回第二列而不使用它的名称?