更改返回数据的颜色

时间:2015-11-23 19:34:00

标签: powershell output

我正在尝试修改一个应该列出域内所有计算机的脚本,如果有人在该计算机上登录,则应该显示该帐户的用户名。

脚本运行正常,但我有一点美学问题。有没有办法将返回数据(对于那些在线的计算机和服务器)变成另一种颜色?

这是我目前的剧本:

function Check-Domain {
    Get-ADComputer -Filter * |
        Select-Object -ExpandProperty Name |
        ForEach-Object {
            $computer = $_
            $pingme = Test-Connection -ComputerName $computer -Quiet -Count 1
            if ($pingme -eq $true) {
                Invoke-Command -ComputerName $computer -ScriptBlock {
                    Get-WmiObject Win32_ComputerSystem |
                        Select-Object Username, Name }
            } else {
                Write-Host "$computer - OFF" -ForegroundColor Red
            }
        } | Format-Table
}

1 个答案:

答案 0 :(得分:0)

您可以编辑此部分 - 这会将Invoke-Command的结果存储在变量中,并使用Write-Host所需的颜色输出它:

if ($pingme -eq $true) {
    $result = Invoke-Command -ComputerName $computer -ScriptBlock {
        Get-WmiObject Win32_ComputerSystem | Select-Object Username, Name
    }
    Write-Host $result -ForegroundColor Green
}