我正在尝试从xTestPlan_1.ps1
运行enable_local.ps1
。
虽然enable_local.ps1
位于我的本地计算机上,但xTestPlan_1.ps1
位于网络驱动器上。我只有本地机器上xTestPlan_1.ps1
的快捷方式。
以下是enable_local.ps1
:
$item = "d:\temp\xTestPlan_1.lnk"
WriteInLogFile "$item"
Try
{
& "$item"
}
Catch
{
WriteInLogFile $Error
}
运行此代码时,有时会出现此错误:
计划" xTestPlan_1.lnk"无法运行:此操作返回 因为超时时间已到期D:\ Temp \ enable_local.ps1。
此脚本有时会按预期工作,有时它不起作用。 xTestPlan_1.ps1
确实存在于网络驱动器上。
答案 0 :(得分:2)
尝试执行快捷方式不是运行其他脚本的好方法。
更好的做法是直接调用脚本:
$item = "\\server\share\xTestPlan_1.ps1"
WriteInLogFile "$item"
Try
{
& $item
}
Catch
{
WriteInLogFile $Error
}
如果由于某种原因确实必须使用快捷方式,则可以从快捷方式获取目标路径,然后调用脚本本身。
$item = "d:\temp\xTestPlan_1.lnk"
$ShellObj = New-Object -COM WScript.Shell
$targetPath = $ShellObj.CreateShortcut($item).TargetPath
WriteInLogFile "$targetPath"
Try
{
& $targetPath
}
Catch
{
WriteInLogFile $Error
}