Создание программы
В следующем примере показано, как создать программу в Configuration Manager с помощью SMS_Program
свойств класса и класса.
Важно!
Любая объявленная программа не будет запущена, если сроки обслуживания, определенные на клиентском компьютере, будут заданы в течение периода, который меньше, чем параметр максимально допустимого времени выполнения этой программы. Дополнительные сведения см. в статье Сценарий запуска программы с использованием windows обслуживания в документации по Configuration Manager.
Чтобы создать программу
Настройте подключение к поставщику SMS.
Создайте объект программы с помощью
SMS_Program
класса .Заполните новые свойства программы.
Совет
При создании программы для последовательности задач или пакета виртуального приложения свойства SMS_Program должны иметь определенные значения. В следующих таблицах показано, для чего следует настроить эти параметры.
Последовательность задач
Имя свойства Значение свойства ProgramName * Пакет виртуального приложения
Имя свойства Значение свойства CommandLine PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}
Примечание: Значения GUID берутся из XML-файла манифеста виртуального приложения.ProgramName [Виртуальное приложение] Сохраните новую программу и свойства.
Пример
В следующем примере метод создает новую программу и заполняет ее свойства для использования в распространении программного обеспечения.
Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.
Sub CreateProgram(connection, existingPackageID, newProgramName, newProgramComment, newProgramCommandLine, newMaxRunTime)
' Create the new program object. Dim newProgram
Set newProgram = connection.Get("SMS_Program").SpawnInstance_
' Populate the program properties.
newProgram.PackageID = existingPackageID
newProgram.ProgramName = newProgramName
newProgram.Comment = newProgramComment
newProgram.CommandLine = newProgramCommandLine
newProgram.Duration = newMaxRunTime
' Save the new program and properties.
newProgram.Put_
' Output new program name.
wscript.echo "Created program: " & newProgramName
End Sub
public void CreateProgram(WqlConnectionManager connection,
string existingPackageID,
string newProgramName,
string newProgramComment,
string newProgramCommandLine,
int newMaxRunTime)
{
try
{
// Create an instance of SMS_Program.
IResultObject newProgram = connection.CreateInstance("SMS_Program");
// Populate basic program values.
newProgram["PackageID"].StringValue = existingPackageID;
newProgram["ProgramName"].StringValue = newProgramName;
newProgram["Comment"].StringValue = newProgramComment;
newProgram["CommandLine"].StringValue = newProgramCommandLine;
newProgram["Duration"].IntegerValue = newMaxRunTime;
// Save the new program instance and values.
newProgram.Put();
Console.WriteLine("Created program: " + newProgramName);
}
catch (SmsException ex)
{
Console.WriteLine("Failed to create program. Error: " + ex.Message);
throw;
}
}
Метод примера имеет следующие параметры:
Параметр | Тип | Описание |
---|---|---|
connection swebemServices |
-Управляемых: WqlConnectionManager — VBScript: SWbemServices |
Допустимое подключение к поставщику SMS. |
existingPackageID |
-Управляемых: String -Vbscript: String |
Имя пакета, связанного с программой. |
newProgramName |
-Управляемых: String -Vbscript: String |
Имя новой программы. |
newProgramComment |
-Управляемых: String -Vbscript: String |
Комментарий, описывающий программу в консоли Configuration Manager. |
newProgramCommandLine |
-Управляемых: String -Vbscript: String |
Командная строка, которая запускается при запуске программы. |
newMaxRunTime |
-Управляемых: Integer -Vbscript: Integer |
Приблизительная длительность выполнения программы на клиентском компьютере (в минутах). Этот параметр может иметь максимальное значение 720 минут или 12 часов. |
Компиляция программы
Для примера C# требуется следующее:
Пространства имен
Системные
Майкрософт. ConfigurationManagement.ManagementProvider
Майкрософт. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Mscorlib
Надежное программирование
Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.