首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Powershell ForeGround颜色

Powershell ForeGround颜色
EN

Stack Overflow用户
提问于 2015-11-10 22:33:40
回答 1查看 1K关注 0票数 2

我一直把头撞在桌子上,最近的一次仍然不能工作。我正试着让这件事起作用。

代码语言:javascript
运行
复制
$test = Get-Service | sort Status | format-wide -Groupby Status -Column 4

$test | % {
  $line = $_.ToString()  <~~ even tried Out-String
  if ($_.status -eq "Running") {
    write-host $line -foregroundcolor red
  } elseif ($_.status -eq "Stopped") {
    write-host $line -foregroundcolor yellow
  } else {
    write-host $line 
  }
}

我正在努力保持我已经拥有的格式,但我愿意接受建议。根据我所发现的,Out-String将不能使用格式-*选项。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-10 22:50:31

Format-* cmdlet通常应该是管道中的最后一个命令,不应该分配给变量。它们是为了最终的输出,而不是以后的转换。它们不保留原始对象或它们的属性。

如果您刚刚删除了Format-Wide调用,它将使用以下颜色编写服务:

代码语言:javascript
运行
复制
$test = Get-Service | sort Status

$test | % {
  $line = $_.ToString()  
  if ($_.status -eq "Running") {
    write-host $line -foregroundcolor red
  } elseif ($_.status -eq "Stopped") {
    write-host $line -foregroundcolor yellow
  } else {
    write-host $line 
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33640939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档