更改powershell变量的背景/前景色

更改powershell变量的背景/前景色,powershell,Powershell,因此,我有一个powershell脚本,它检查IP是否可用,最后统计有多少可用,有多少不可用 我能否更改$used和$avail变量的背景/前景颜色 Clear-Host $Ping = New-Object System.Net.Networkinformation.ping $IP = Read-Host 'What ip range you want to scan (eg. 192.168.0.)?' $pused = 0 $pavail = 0 for ($i=1; $i -le 25

因此,我有一个powershell脚本,它检查IP是否可用,最后统计有多少可用,有多少不可用

我能否更改$used和$avail变量的背景/前景颜色

Clear-Host
$Ping = New-Object System.Net.Networkinformation.ping
$IP = Read-Host 'What ip range you want to scan (eg. 192.168.0.)?'
$pused = 0
$pavail = 0
for ($i=1; $i -le 254; $i++)
{
                $Status = $Null
                $IPAddress = $IP + $i
                $Status = ($Ping.Send("$IPAddress", 1)).Status

                if ($Status -eq "TimedOut")
                {
                Write-Host "$IPAddress is available!" -BackgroundColor Green
                $avail = $pavail++
                } else {
                Write-Host "$IPAddress is in USE!" -BackgroundColor Red
                $used = $pused++
                }
}
Write-Host ""
Write-Host $used  -BackgroundColor Red "IPs currently in use" -foregroundcolor "black"
Write-Host ""
Write-Host $avail "IPs currently available" -BackgroundColor Green -foregroundcolor "black"

我能想到的唯一方法就是使用多行
Write Host

写入主机“”
写入主机-非WLINE$pused-背景色黑色-背景色红色
写入主机“当前正在使用的IP”
写入主机“”
写入主机-非WLINE$pavail-背景色黑色-背景色绿色
写入主机“当前可用的IP”

您可以使用
-NoNewline
参数,以便输出仍将打印到控制台中的同一行

你在问什么?你还没有换颜色吗
$used
$avail
也没用,只需在整个过程中使用
$pused
$pavail
。为什么要使用写主机?考虑退货object@jisaak使用
写主机
有什么问题?它看起来像一个简单的脚本,可以将信息打印到屏幕上,所以我不知道这有什么错。我只想更改
$pused
$pavail
返回的数字,而不是整行。理想情况下,我想删除该行其余部分的颜色,只更改它返回的数字。将其更改为仅使用
$pused
$pavail
@arco444,这正是我想要的。谢谢不知道-nonewline参数:)