我已经写了一个代码,发送电子邮件给某人。当代码运行时,他们也要求在屏幕上打印数据。我使用Write-Host cmdlet如下所示。
Write-Host "server: $serverName `t ipaddress: $ipAddressValue `t process: $processName `t status: $statusString"数据出现在PowerShell上,所有数据都是直线显示的,因为除了最后一个变量$statusstring之外,状态结果以不同的方式出现,并且与其他3个变量的顺序不同。
有什么办法让我的地位成为一条直线吗?
发布于 2016-06-01 12:45:46
你似乎想要表格输出。为什么不创建对象并使用正确的格式化cmdlet?
$props = [ordered]@{
server = $serverName
ipaddress = $ipAddressValue
process = $processName
status = $statusString.Trim()
}
$o = New-Object -Type PSObject -Property $props从对象(或对象列表)中,可以创建如下字符串输出:
$o | Format-Table | Out-String或者这样的HTML输出:
$o | ConvertTo-Html发布于 2016-06-01 12:58:15
最佳选择:停止使用Write-Host。不能使用该cmdlet将输出控制为所有显示在一行上。您最好做一个定制的PSObject来构建输出,然后将它传递给Format-Table。
https://stackoverflow.com/questions/37568855
复制相似问题