我有一个带有工作流和 2 个简单函数的 Windows PowerShell 3.0 脚本。如果没有工作流,我可以在我的函数中使用我Log
的DoSomething
函数,但不能使用工作流。脚本是:
function DoSomething()
{
# This is NOT logged
Log("This will fail...")
}
function global:Log([string]$Message)
{
Add-Content -Path "C:\my.log" -Value $Message
}
workflow New-CustomWorkflow
{
try
{
# This is logged
Log("Starting with the workflow")
DoSomething
}
catch
{
# This is logged
Log($_)
}
}
New-CustomWorkflow
的内容my.log
如下所示:
从工作流
System.Management.Automation.RemoteException 开始:术语“日志”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在 Microsoft.PowerShell.Activities.PSActivity.OnResumeBookmark(NativeActivityContext 上下文,书签书签,对象值)在 System.Activities.Runtime.BookmarkCallbackWrapper.Invoke(NativeActivityContext 上下文,书签书签,对象值)在 System.Activities.Runtime.BookmarkWorkItem.Execute (ActivityExecutor 执行器,BookmarkManager 书签管理器)
这可能吗?我究竟做错了什么?