[英]Print in a log file the line number
我试图在我的函数中管理一些非标准错误(比如错误的输入文本),我想通过在变量中写入一种日志来跟踪这些错误。 我正在尝试写行号,这是我的代码
$someVar = "line $($MyInvocation.ScriptLineNumber): at least 2 arguments needed, function has been called with only $args.Count arguments"
有时它会返回正确的数字,有时则不会。 这是正确的方法吗? 还有另一种方法吗?
编辑:我发现这个问题可能与执行脚本的非常规方式有关,我使用这些脚本来绕过特定机器上的权限问题。 我会尽快发布一个更详细的例子
你有没有在你的职能中使用param
并强制执行它们的原因?
Function A()
{
Param
(
[Parameter(Mandatory=$true)][String]$Arg1,
[Parameter(Mandatory=$true)][String]$Arg2
)
Write-Host "$Arg1 $Arg2"
}
如果你运行这个函数没有任何参数,那么它将抛出一个错误,要求强制参数。
尝试换入$()。 例如:
$someVar = "line $($MyInvocation.ScriptLineNumber): at least 2 arguments needed, function has been called with only $($args.Count) arguments"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.