Powershell 无法访问启动作业的脚本块中的commandlet
我们正在尝试使用Powershell 无法访问启动作业的脚本块中的commandlet,powershell,Powershell,我们正在尝试使用Start job在PowerShell中编写后台作业。此作业使用cmdlet。由于某些原因,无法识别cmdlet。但是,当直接访问时,相同的cmdlet可以工作 Code Snippet : Start-Job -ScriptBlock { } 错误: 术语“commandletName”未被识别为cmdlet的名称, 函数、脚本文件或可操作程序。检查单词的拼写 名称,或者如果包含路径,请验证该路径是否正确,并且 再试一次CategoryInfo:ObjectNotFound
Start job
在PowerShell
中编写后台作业。此作业使用cmdlet。由于某些原因,无法识别cmdlet。但是,当直接访问时,相同的cmdlet可以工作
Code Snippet : Start-Job -ScriptBlock { }
错误:
术语“commandletName”未被识别为cmdlet的名称,
函数、脚本文件或可操作程序。检查单词的拼写
名称,或者如果包含路径,请验证该路径是否正确,并且
再试一次CategoryInfo:ObjectNotFound:(commandletName:String)
[],CommandNotFoundException+FullyQualifiedErrorId:
CommandNotFoundException+PSComputerName:localhost
是否需要为后台作业单独导入特定的内容?启动作业将启动一个全新的PowerShell会话,因此必须在作业本身中重新导入已导入/创建的所有cmdlet 您可以使用$using范围将其拉入
function Write-HelloWorld {
"Hello World"
}
Start-Job -ScriptBlock {
${function:Write-HelloWorld} = ${using:function:Write-HelloWorld}
Write-HelloWorld
}
Start Job启动一个全新的PowerShell会话,因此必须在作业本身中重新导入已导入/创建的所有cmdlet 您可以使用$using范围将其拉入
function Write-HelloWorld {
"Hello World"
}
Start-Job -ScriptBlock {
${function:Write-HelloWorld} = ${using:function:Write-HelloWorld}
Write-HelloWorld
}