2015-06-22 7 views
1

У меня есть последовательность задач с несколькими переменными, которые хранятся на самих объектах. Запуск дампа из переменных при выполнении TS выглядит отлично, и я могу видеть все переменные, которые я создал. Однако, когда я создаю пакет с программой внутри моего TS, мне нужно иметь возможность вызывать те же самые переменные Внутри программы.SCCM Целевая последовательность Переменная внутри программы

Возможно ли это каким-либо образом переносить переменные TS в программу?

ответ

1

Существует COM-объект «Microsoft.SMS.TSEnvironment», который может это сделать. Это зависит в основном от языка, который использует ваша программа.

В VBScript было бы легко, например .:

Set smstsenv = CreateObject("Microsoft.SMS.TSEnvironment") 
strTSAdvID = smstsenv("_SMSTSAdvertID") 

Чтобы получить идентификатор рекламы или

smstsenv.GetVariables 

, чтобы получить все переменные. Powershell был бы столь же тривиальным. C# или C++ также должны иметь возможность обрабатывать COM-объекты. Если ваш язык выбора каким-то образом не поддерживает их, вы всегда можете обернуть свою программу в скрипт, который читает переменную и передает ее, либо в качестве параметра командной строки, либо, возможно, устанавливает переменную окружения Windows с тем же именем,

+0

Спасибо Syberdoor, вы совершенно правы, так оно работает внутри последовательности задач. Однако у меня нет проблем с выводом переменных из последовательности задач. У меня есть пакет, на который ссылается последовательность задач. Теперь у этого пакета есть программа, которая запускает скрипт VBS. Внутри этого сценария VBS, если вы пытаетесь ссылаться на переменные TS, они возвращаются как нулевое значение. представляется, что переменные последовательности задач не могут переноситься в программы пакетов, которые являются ссылками в последовательности задач. Шаги последовательности задач, такие как «Запустить командную строку», не имеют проблем с чем-то подобным. – bundyfx

+0

Странно, я специально скопировал этот пример из программы, которую мы запускаем через «Install Package» в нашей последовательности задач. Мы даже попросили Microsoft поместить его туда, а не выполнить его через командную строку запуска. Используете ли вы «устаревший» пакет или приложение? – Syberdoor

+0

Мы используем пакет «legacy» yes. это изменяется при переключении на приложение? – bundyfx

 Смежные вопросы

  • Нет связанных вопросов^_^