在PowerShell中添加字符行尾

时间:2013-10-30 16:02:07

标签: powershell character

我正在寻找以下挑战的解决方案:

我在PowerShell中运行以下命令。

Import-Module servermanager
Get-WindowsFeature | where {$_.Installed -eq "True"} | ft DisplayName, Installed > output.txt

现在我想在每行的末尾添加一个字符。我怎样才能做到这一点?

我想我必须将内容添加到数组中,但我不知道如何完成代码。

最后,我必须将内容加载到EventViewer中。如果我直接发送,事件描述格式不正确。

3 个答案:

答案 0 :(得分:2)

您可以在记录中添加另一个字段,如下所示:

Get-WindowsFeature | ? { $_.Installed } |
    select DisplayName, Installed, @{n='Other',e={'c'}} | ft

答案 1 :(得分:0)

听起来好像不是使用ft > output.txt,而是想要:

foreach { echo ( $_.DisplayName + " " + $_.Installed + " extra_stuff" ) } > output.txt

虽然它没有给你一个格式很好的表。

答案 2 :(得分:0)

这有点超出了您直接询问的范围,但我建议跳过“写入文本文件”阶段并直接传递到目的地。

Import-Module servermanager
$installedFeatures = @()    # Creates a blank array for the features
$output = @()    # Creates a blank array for formatted results

$yourChar    # The character/ string you want to add at the end of each row

$installedFeatures = Get-WindowsFeature | Where-Object {$_.Installed -eq "True"}
foreach($feature in $installedFeatures)
{
    $output += "$($feature.displayName) $($feature.installed) $yourChar"
}

迭代完所有Windows功能后,您的$output变量将包含displayName installed $yourChar格式的字符串数组。然后,您可以写入磁盘,或将对象发送到其他位置(这是PowerShell对象的优点!)。