Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Роль точки миграции состояния в Configuration Manager создается путем создания экземпляра класса WMI сервера SMS_SCI_SysResUse и предоставления значений свойств в следующей таблице.
Свойство | Описание |
---|---|
RoleName |
Имя роли. Для точки миграции состояния значением является точка миграции состояния SMS. |
SiteCode |
Код сайта для сайта. |
NALPath |
Путь уровня абстракции сети (NAL) к точке миграции состояния. Дополнительные сведения см. в статье Метод PackNALPath в SMS_NAL_Methods класса. |
NALType |
Тип ресурса. Для точки миграции состояния это должно быть Windows NT Server. |
Вам также потребуется задать начальные значения для следующих внедренных свойств и внедренных списков свойств.
Имя | Описание |
---|---|
Server Remote Name |
Сервер с точкой миграции состояния. Внедренное свойство. |
SMPQuiesceState |
Задает режим только для восстановления. Дополнительные сведения см. в статье Настройка режима Restore-Only для точки миграции состояния. Внедренное свойство. |
SMPStoreDeletionDelayTimeInMinutes |
Задает политику удаления. Дополнительные сведения см. в разделе Настройка политики удаления для точки миграции состояния. Внедренное свойство. |
SMPStoreDeletionCycleTimeInMinutes |
Задает политику удаления. Дополнительные сведения см. в разделе Настройка политики удаления для точки миграции состояния. |
Directories |
Списки папки точек миграции состояния. Дополнительные сведения см. в разделе Добавление папки точки миграции состояния. |
Создание роли точки миграции состояния
Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Основы поставщика SMS.
Создайте экземпляр класса WMI сервера SMS_SCI_SysResUse.
Заполните свойства, перечисленные выше.
Зафиксируйте
SMS_SCI_SystResUse
объект .
Пример
В следующем примере метод создает точку миграции состояния из предоставленного кода сайта и пути NAL. Некоторые вспомогательные функции предоставляются для записи внедренных свойств и внедренных списков свойств в файл элемента управления сайтом.
Важно!
В этом примере используются другие фрагменты кода точки миграции состояния для задания различных значений. Методы AddSmpFolder
, SetRestoreOnlyMode
SetDeletionPolicy
описаны в следующих разделах:
Добавление папки точки миграции состояния
- Настройка режима Restore-Only для точки миграции состояния
- Настройка политики удаления для точки миграции состояния
Для работы примера необходимо включить методы
AddSmpFolder
,SetRestoreOnlyMode
,SetDeletionPolicy
. Методы не включены в приведенные ниже фрагменты кода.
Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.
public void CreateSmpRole(
WqlConnectionManager connection,
string serverName,
string siteCode,
string nalPath)
{
try
{
// Create the state migration point resource object.
IResultObject smpRole = connection.CreateInstance("SMS_SCI_SysResUse");
smpRole["RoleName"].StringValue = "SMS State Migration Point";
// Set the state migration point properties.
smpRole["SiteCode"].StringValue = siteCode;
smpRole["NALPath"].StringValue = nalPath;
smpRole["NALType"].StringValue = "Windows NT Server";
// Create the embedded property and property lists.
this.WriteScfEmbeddedProperty(smpRole, "Server Remote Name", 0, serverName, string.Empty);
this.WriteScfEmbeddedProperty(smpRole, "SMPQuiesceState", 1, string.Empty, string.Empty);
this.WriteScfEmbeddedProperty(smpRole, "SMPStoreDeletionDelayTimeInMinutes", 0, string.Empty, string.Empty);
this.WriteScfEmbeddedProperty(smpRole, "SMPStoreDeletionCycleTimeInMinutes", 0, string.Empty, string.Empty);
this.WriteScfEmbeddedPropertyList(smpRole, "Directories", null);
// Commit the site role.
smpRole.Put();
// Use SDK snippets to populate some values.
this.AddSmpFolder(connection, @"C:\temp", 100, 10, 1, serverName, siteCode);
this.SetRestoreOnlyMode(connection, serverName, siteCode, true);
this.SetDeletionPolicy(connection, serverName, siteCode, 10);
}
catch (SmsException e)
{
Console.WriteLine("Failed to create the state migration point: " + e.Message);
throw;
}
}
public void WriteScfEmbeddedPropertyList(
IResultObject resource,
string propertyListName,
string[] values
)
// Create an embedded property list for the supplied resource.
{
Dictionary<string, IResultObject> EmbeddedPropertyList = resource.EmbeddedPropertyLists;
// Get the property list, or create it.
IResultObject ropl;
if (EmbeddedPropertyList.ContainsKey(propertyListName))
{
ropl = EmbeddedPropertyList[propertyListName];
}
else
{
ConnectionManagerBase connection = resource.ConnectionManager;
ropl = connection.CreateEmbeddedObjectInstance("SMS_EmbeddedPropertyList");
EmbeddedPropertyList.Add(propertyListName, ropl);
}
// Set the property list properties.
ropl["PropertyListName"].StringValue = propertyListName;
ropl["Values"].StringArrayValue = values;
resource.EmbeddedPropertyLists = EmbeddedPropertyList;
}
public void WriteScfEmbeddedProperty(
IResultObject resource,
string propertyName,
int value,
string value1,
string value2)
{
// Properties
// Server remote name
Dictionary<string, IResultObject> EmbeddedProperties = resource.EmbeddedProperties;
// Get the property, or create it.
IResultObject ro;
if (EmbeddedProperties.ContainsKey(propertyName))
{
ro = EmbeddedProperties[propertyName];
}
else
{
ConnectionManagerBase connection = resource.ConnectionManager;
ro = connection.CreateEmbeddedObjectInstance("SMS_EmbeddedProperty");
EmbeddedProperties.Add(propertyName, ro);
}
ro["PropertyName"].StringValue = propertyName;
ro["Value"].IntegerValue = value;
ro["Value1"].StringValue = value1;
ro["Value2"].StringValue = value2;
resource.EmbeddedProperties = EmbeddedProperties;
}
Метод примера имеет следующие параметры:
Параметр | Тип | Описание |
---|---|---|
connection |
Управляемых: WqlConnectionManager |
Допустимое подключение к поставщику SMS. |
serverName |
Управляемых: String |
Сервер Configuration Manager, на котором запущена точка миграции состояния. |
siteCode |
Управляемых: String |
Код сайта Configuration Manager. |
nalPath |
Управляемых: String |
Путь NAL к точке миграции состояния. Пример: ["Display=\\SERVERNAME\"]MSWNET:["SMS_SITE=SITECODE"]\\SERVERNAME\ |
Компиляция программы
Пример C# имеет следующие требования к компиляции:
Пространства имен
System;
System.Collections.Generic;
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Надежное программирование
Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.
Безопасность .NET Framework
Дополнительные сведения о защите приложений Configuration Manager см. в статье Configuration Manager администрирование на основе ролей.
См. также
метод SMS_SCI_SysResUse server WMI ClassPackNALPath в классе SMS_NAL_Methodsо конфигурации ролей сайта развертывания ОС. Добавление папки точки миграции состояния. Установка политики удаления для точки миграции состояния. Установка режима Restore-Only для точки миграции состояния. Чтение и запись в файл Configuration Manager управления сайтом с помощью управляемого кодаЧтение и запись в файл элемента управления сайтом Configuration Manager с помощью WMI