Function Powershell功能开关

Function Powershell功能开关,function,powershell,pipeline,Function,Powershell,Pipeline,我试图创建一个准日志函数,并将函数参数作为变量传递给可能的输出 函数获取函数($continue){ 如果(!$error){ 写入主机“通行证” }否则{ $continue } } 获取函数-继续$(“$(写入主机)成功”) 如果出现错误,它将输出成功,该错误列在-继续标志之后 但由于管道原因,此版本出现错误: Get函数-继续$(“$(写入主机)成功”)|写入主机“此操作失败” 它在管道之后创建了一个错误。对于这个问题,我有点困惑,但它失败了,因为您试图将信息管道化到一个命令中,而您已

我试图创建一个准日志函数,并将函数参数作为变量传递给可能的输出

函数获取函数($continue){
如果(!$error){
写入主机“通行证”
}否则{
$continue
}
}
获取函数-继续$(“$(写入主机)成功”)
如果出现错误,它将输出
成功
,该错误列在
-继续
标志之后

但由于管道原因,此版本出现错误:

Get函数-继续$(“$(写入主机)成功”)|写入主机“此操作失败”

它在管道之后创建了一个错误。

对于这个问题,我有点困惑,但它失败了,因为您试图将信息管道化到一个命令中,而您已经给出了参数。例如:

作品:

"Success" | Write-Host

Write-Host "Success"
失败:

"Success" | write-host "Success"

如果您将该行更改为just
Get Function-continue“$(Write Host)success”| Write Host
,它将工作,但毫无意义。您的函数中有
Write Host
,因此没有必要再写一次。希望有帮助

我不能理解这篇帖子,但我会在聪明人到来之前把它扔出去。我不知道
Get函数
做什么,但是
Write Host
可以在其
-Object
参数中接受管道值。该参数与接受位置输入的参数相同。您不能将两者结合,即
“string”| write host“string 2”
将出错。但是,
“string”| write host
write host“string”
都能工作。而且,
$(“$(write host)success”)
$(write host“success”)
足够时就显得不必要了,除非是故意使用了多余的空行。没有$(“$(您的问题我不清楚。
Make
在PowerShell中不是有效的关键字,我不明白您试图实现什么。请回答您的问题,并详细解释您希望函数执行的操作(示例输出通常有帮助)。同时显示您遇到的错误。