【发布时间】:2013-12-02 09:32:12
【问题描述】:
我最好的猜测是这与 Powershell 控制台中使用的默认输出方法有关,但我在墙上...
我正在编写一个脚本,其中包含为 SQL Server 实例中的配置选项找到的默认值数据表。然后我有一个函数可以提取这些相同配置选项的当前使用值。
我想从这个函数中输出两组信息:(1)从当前值本身过滤特定信息,(2)过滤特定信息,比较默认值和当前值。所以它看起来类似于这个(省略数据表的东西):
$var1 = $current | where {my filters} |
Select @{label='name';Expression{stuff}},
@{label='value_in_use';Expression{stuff}},
@{label='value';Expression{stuff}}
$var2 = foreach ($o in $tblDefault) {
$current | where {my filters} |
Select @{label='name';Expression{stuff}},
@{label='value_in_use';Expression{stuff}},
@{label='default';Expression{stuff}}
Write-Host "This is a message"
$var1
Write-Host "This is a message"
$var2
}
我的问题是两个变量的输出。
-
$var2的第三列“默认”未显示。 - 同样,输出仅在输出顶部显示
$var1的列标题。 注释掉第一个变量调用这是我应该看到的第二个变量的输出: 当同时调用第二个变量时,PowerShell 甚至似乎都看不到第二个变量的附加列。我可以在函数上执行Get-Member,它只显示第一个变量的属性名称。
我应该怎么做才能将其强制转换为单独的对象(意味着两个集合的列标题?
只需将其与 MSPaint 一起粘贴,这是我期望的输出,并且希望:
【问题讨论】:
标签: variables powershell