Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As funcionalidades e capacidades de um site são determinadas pelas funções de site que lhe são aplicadas. Um site pode conter uma ou mais funções de site. Algumas funções dependem de outras funções. Para obter mais informações sobre funções de site específicas, veja Configurar sites e hierarquias para Configuration Manager.
A configuração de um site é efetuada através das classes Windows Management Instrumentation (WMI). Por exemplo, SMS_SCI_Component Classe WMI de Servidor contém informações sobre os componentes do servidor armazenados num servidor de site Configuration Manager. Estas classes derivam da Classe WMI de Servidor SMS_SiteControlItem. Para obter mais informações, veja Configuration Manager Classes WMI de Servidor de Configuração do Site.
Observação
Em versões anteriores do Configuration Manager, a SMS_SiteControlFile
classe WMI foi utilizada para receber a cópia mais recente da configuração de um site, para atualizar a configuração de um site e para gerir sessões de atualização. Isto já não é necessário, uma vez que as alterações efetuadas à configuração de um site são escritas imediatamente na base de dados e um ficheiro já não é utilizado.
Geralmente, os itens de controlo de sites utilizam propriedades de três tipos para definições individuais, propriedades incorporadas, listas de propriedades e listas de várias cadeias. São acedidos através das seguintes classes:
Tipo | Classe WMI |
---|---|
Propriedade incorporada | Classe WMI de Servidor SMS_EmbeddedProperty |
Lista de propriedades incorporadas | Classe WMI de Servidor SMS_EmbeddedPropertyList (matriz) |
Lista de múltiplas cadeias | Classe WMI de Servidor SMS_Client_Reg_MultiString_List (matriz) |
Para implementar uma função de site
Configure uma ligação ao Fornecedor de SMS.
Criar uma instância da
SMS_SCI_SysResUse
classe WMIDefina as
NALPath
propriedades ,NALType
,RoleName
eSitecode
.Consoante a função escolhida, defina as propriedades incorporadas corretas ou os valores da lista de propriedades incorporadas.
Guarde a função.
Exemplo
O exemplo seguinte cria uma Fallback Status Point
função:
Sub CreateRole(connection, computerName, siteCode, domainName) Dim role Dim props ' Create an instance of the class that defines a role Set role = connection.Get("SMS_SCI_SysResUse").SpawnInstance_() ' Configure the basic information of a role role.NALPath = "[""Display=\\" & computerName & "." & domainName & "\""]MSWNET:[""SMS_SITE=" & siteCode & """]\\" & computerName & "." & domainName & "\" role.NALType = "Windows NT Server" role.RoleName = "SMS Fallback Status Point" role.Sitecode = siteCode ' Initialize the properties array props = Array() ' Add each required property to the array SetProperty connection, props, "FSPInternetFacing", 0, "", "" SetProperty connection, props, "Throttle Count", 10000, "", "" SetProperty connection, props, "Throttle Interval", 3600000, "", "" SetProperty connection, props, "Server Remote Name", 0, computerName & "." & domainName, "" ' Set the role's properties and commit the role role.Props = props role.Put_ ' Cleanup Set role = Nothing Set props = NothingEnd SubSub SetProperty(connection, propsArray, propertyName, intValue, strValue1, strValue2) Dim index Dim foundProperty Dim newProperty foundProperty = False ' Loop through properties until a match is found and then set the properties using the values passed in. For index = 0 to UBound(propsArray) If propsArray(index).PropertyName = propertyName then foundProperty = true propsArray(index).Value = intValue propsArray(index).Value1 = strValue1 propsArray(index).Value2 = strValue2 Exit For End if Next ' If the property does not exist, then create it and set the property values using the values passed in. If not foundProperty then Set newProperty = connection.Get("SMS_EmbeddedProperty").SpawnInstance_ newProperty.PropertyName = propertyName newProperty.Value = intValue newProperty.Value1 = strValue1 newProperty.Value2 = strValue2 ReDim Preserve propsArray(UBound(propsArray) + 1) Set propsArray(UBound(propsArray)) = newProperty End if ' Cleanup Set newProperty = NothingEnd Sub
public void CreateRole(WqlConnectionManager connection, string computerName, string siteCode, string domainName){ IResultObject role = connection.CreateInstance("SMS_SCI_SysResUse"); string fqdn = computerName + "." + domainName; role.Properties["NALPath"].StringValue = string.Format(@"[""Display=\\{0}\""]MSWNET:[""SMS_SITE={1}""]\\{0}\", fqdn, siteCode); role.Properties["NALType"].StringValue = "Windows NT Server"; role.Properties["RoleName"].StringValue = "SMS Fallback Status Point"; role.Properties["Sitecode"].StringValue = siteCode; WriteEmbeddedProperty(role, "FSPInternetFacing", 0, "", ""); WriteEmbeddedProperty(role, "Throttle Count", 10000, "", ""); WriteEmbeddedProperty(role, "Throttle Interval", 3600000, "", ""); WriteEmbeddedProperty(role, "Server Remote Name", 0, fqdn, ""); role.Put();}public void WriteEmbeddedProperty(IResultObject container, string propertyName, int value, string value1, string value2){ // Get the property, or create it. IResultObject newProperty; Dictionary<string, IResultObject> propertiesCopy = container.EmbeddedProperties; if (propertiesCopy.ContainsKey(propertyName)) { newProperty = propertiesCopy[propertyName]; } else { newProperty = container.ConnectionManager.CreateEmbeddedObjectInstance("SMS_EmbeddedProperty"); propertiesCopy.Add(propertyName, newProperty); } newProperty["PropertyName"].StringValue = propertyName; newProperty["Value"].IntegerValue = value; newProperty["Value1"].StringValue = value1; newProperty["Value2"].StringValue = value2; container.EmbeddedProperties = propertiesCopy;}
O método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
connection |
- Gerido: WqlConnectionManager - VBScript: SWbemServices |
Uma ligação válida ao Fornecedor de SMS. |
computerName |
String |
O nome do servidor do site. |
siteCode |
String |
O código do site. |
domainName |
String |
O nome de domínio completamente qualificado do servidor do site. |
Compilando o código
O exemplo de C# requer:
Namespaces
System.Collections.Generic
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Programação robusta
Para obter mais informações sobre o processamento de erros, veja About Configuration Manager Errors (Acerca dos Erros de Configuration Manager).
Confira também
Classe WMI de Servidor SMS_SCI_SysResUse de Servidor SMS_EmbeddedProperty deServidor SMS_EmbeddedPropertySobre o ficheiro de controlo de site