Ошибка VBScript, запущенная с другим пользователем

#scripting #vbscript

#сценарий #vbscript

Вопрос:

Я работаю над сценарием, который будет выполняться как запланированная задача под учетной записью локального администратора. Суть сценария заключается в следующем:

 '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 amp; "_"  amp; 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:backupsdString.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:backupsautoBackup_" amp; dString amp;"_.tib"" /compression:5 /incremental /partition:""C""")
  

Приведенный выше фрагмент будет нормально выполняться под моей учетной записью домена, но в строке, указанной выше, будет ошибка со следующим:

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

Эта ошибка не возникнет, когда я запускаю его под своей учетной записью. Я недостаточно знаком с разрешениями, необходимыми для запуска экземпляра «Wscript.Оболочка». Приветствуется любая информация.

Обновить:

trueImagecmd — это версия программы восстановления Acronis из командной строки. Я использую этот скрипт как способ автоматизации процесса развертывания. Команда работает нормально, и я могу запустить этот скрипт от своего имени, при запуске под учетной записью локального администратора, однако скрипт выполняется до указанной точки, команда run выдает ошибку.

ОБНОВЛЕНИЕ 2:

Похоже, что включение полного пути устранило проблему. Спасибо всем за ваши предложения.

Комментарии:

1. Что trueimagecmd ? Доступно ли это приложение при запуске под учетной записью другого пользователя? Требуется ли для этого административные привилегии?

2. Является E: сетевым диском? Если это так, то, вероятно, это не сопоставлено для учетной записи, которая не работает.

Ответ №1:

Вы пробовали вызывать trueimagecmd с полным путем к исполняемому файлу? Например C:progra ~1trueimagetrueimagecmd.exe

Комментарии:

1. Привет, Ариэль, извини, я был занят в эти выходные и у меня не было возможности поработать над этим. Я попробую ваше предложение завтра и опубликую обновление как можно скорее. Спасибо.

Ответ №2:

Убедитесь, что у вас есть диск E на другом компьютере, с которого он генерирует ошибку. Попробуйте использовать c:backupsautoBackup_ » amp; dString amp;».tib» вместо e:backupsautoBackup » amp; dString amp;»_.tib»