%DriveIndex1% OR %DriveIndex2% <> ""
не будет оценивать, как вы хотите.Этот синтаксис оценивает два условия: одно %DriveIndex1%
и другое %DriveIndex2% <> ""
.Вам нужно что-то вроде
%DriveIndex1% <> "" OR %DriveIndex2% <> ""
, но
в VBScript ""
не равно Empty
, а необъявленные переменные Empty
, поэтому, если ваши переменные TS не существуют, вы захотите
Not IsEmpty(%DriveIndex1%) And Not IsEmpty(%DriveIndex2%)
Вы также можете включить проверки для Null
и ""
, например,
Not IsEmpty(%DriveIndex1%) And Not IsEmpty(%DriveIndex2%) and Not IsNull(%DriveIndex1%) And Not IsNull(%DriveIndex2%) And %DriveIndex1% <> "" And %DriveIndex2% <> ""
Наконец, я не знаком с тем, как вы проверяете условия vbscript в xml, но, насколько мне известно, переменные TS имеют доступ через объект Microsoft.SMS.TSEnvironment
, подобный этому
Set env = CreateObject("Microsoft.SMS.TSEnvironment")
env("MyVariable") = "value"
If env("MyOtherVariable") Then etc...
В этом контексте ваше условие будет
Not IsEmpty(env("DriveIndex1")) And Not IsEmpty(env("DriveIndex2"))
Это предполагает, что при вызове условного выражения из XML-файла уже создан объект env
.