如何在Powershell中将表达式扩展为select-object?

时间:2013-09-25 08:39:45

标签: powershell

我有以下代码,它打印出主机上每个SQL Server相关服务的一些属性:

[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement")|Out-Null;
$mc = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer localhost;
$mc.Services | % {$_|select-object Name,DisplayName,ServiceState}

我想输出附加了HostName的结果。我试过这个:

$hostName = hostname
$mc.Services | % {$_|select-object Name,DisplayName,ServiceState,@{Name="HostName";Expression={$hostname}}

但我只是显示了>>。关于如何实现我想要的任何想法?

1 个答案:

答案 0 :(得分:3)

我相信你错过了}

$hostName = hostname
$mc.Services | % {$_|select-object Name,DisplayName,ServiceState,@{Name="HostName";Expression={$hostname}}}

你可以在没有foreach-object

的情况下完成
$mc.Services | select-object Name,DisplayName,ServiceState,@{Name="HostName";Expression={$hostname}}