【发布时间】:2019-10-16 08:13:37
【问题描述】:
我是 powershell 新手,我正在尝试将 foreach 循环的输出放入文件中
foreach 循环如下所示:
foreach ($element in $ashost) {get_alerts($element)}
我在标准输出中得到一个警报列表
所以我尝试通过以下方式将 for 循环输出写入文件:
$output =
foreach ($element in $ashost) {get_alerts($element)}|
$output | Out-File "C:\File.txt"
但文件创建为空
注意:“get_alerts”是一个捕获每个警报的函数 我没有指定特定的返回值,它只是从 函数内部的Write-Host
【问题讨论】:
-
你能修改
get_alerts函数吗? -
如果您在
get_alerts函数中没有指定特定的返回值,则不会有任何可保存的内容。更新该函数以返回警报( s) 调用脚本 -
如果您将
foreach输出存储到$output,为什么还要在foreach之后将其通过管道传输到$output?您应该从第二行中删除|,否则帖子中的代码中还缺少其他内容。 -
顺便说一句:在 PowerShell 中,函数的调用类似于 shell 命令 -
get_alerts $element $arg2- 不 像 C# 方法 -get_alerts($element, $arg2);见Get-Help about_Parsing。为防止意外使用方法语法,请使用Set-StrictMode -Version 2或更高版本,但请注意其其他影响。
标签: powershell