【问题标题】:VBscript error running with different user与不同用户一起运行的 VBscript 错误
【发布时间】:2011-08-20 13:28:32
【问题描述】:

我正在编写一个脚本,该脚本将在本地管理员帐户下作为计划任务运行。脚本的核心如下:

'Calculate date time
dtm = Now
ymd = (Year(dtm)*10000) + (Month(dtm)*100) + Day(dtm)
hms = (Hour(dtm)*10000) + (Minute(dtm)*100) + Second(dtm)
dString = ymd & "_"  & hms
Set Wso = CreateObject("WScript.Shell")
'Write random string to text file for reference by incremental script
Const ForWriting = 2
Set objFile = Fso.OpenTextFile("e:\backups\dString.txt", ForWriting, True)
objFile.WriteLine(dString)
objFile.Close
'Append random string to make full backup name unique'
'Execute full backup creation'
'PROBLEM: Below line will only execute under my domain account
Wso.Run("trueimagecmd /create /filename:""e:\backups\autoBackup_" & dString &"_.tib"" /compression:5 /incremental /partition:""C""")

上面的 sn-p 将在我的域帐户下正常运行,但会在上面指示的行上出错,并显示以下内容:

The system cannot find the file specified
Code: 80070002
Source (null)

当我在我的帐户下运行它时不会出现此错误。我对运行“Wscript.Shell”实例所需的权限不够熟悉。任何见解都值得赞赏。

更新:

trueImagecmd 是 Acronis 恢复软件的命令行版本。我使用这个脚本作为自动化部署过程的一种方式。该命令很好,我可以以自己的身份运行此脚本,但在本地管理员帐户下运行时,脚本执行到指定的点,运行命令抛出错误。

更新 2:

看起来包含完整路径解决了问题。谢谢大家的建议。

【问题讨论】:

  • trueimagecmd 是什么?该应用程序在其他用户帐户下运行时是否可用?它需要管理权限吗?
  • E: 是网络驱动器吗?如果是这样,它可能没有映射到不工作的帐户。

标签: scripting vbscript


【解决方案1】:

确保您在产生错误的另一台机器上有驱动器 E。尝试使用 c:\backups\autoBackup_" & dString &".tib" 而不是 e:\backups\autoBackup" & dString &"_.tib"

【讨论】:

    【解决方案2】:

    您是否尝试使用可执行文件的完整路径调用 trueimagecmd? 比如 C:\progra~1\trueimage\trueimagecmd.exe

    【讨论】:

    • 嗨,ariel,对不起,我这个周末很忙,没有机会处理这个问题。我明天会尝试你的建议并尽快发布更新。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多