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.
Para escrever no Configuration Manager ficheiro de controlo de site com o Fornecedor de SMS gerido, obtém o ficheiro de definição de site ao consultar o recurso ou componente necessário. Em seguida, atualize a propriedade incorporada, a lista de propriedades incorporadas ou a lista de várias cadeias, conforme necessário.
Observação
Também pode utilizar o gestor de ligações GetInstance para obter o recurso ou componente necessário.
O Configuration Manager gerido gere automaticamente a sessão de ligação ao ficheiro de controlo do site. Por conseguinte, trata os objetos IResultObject devolvidos da consulta da mesma forma que trata os objetos IResultObject obtidos do Fornecedor de SMS.
Para ler e escrever no ficheiro de controlo do site
Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja How to Connect to an SMS Provider in Configuration Manager by Using Managed Code (Como Ligar a um Fornecedor de SMS no Configuration Manager Através do Código Gerido).
Utilize o Gerenciador de Conexões objeto QueryProcessorExecQuery ou GetInstance para obter o recurso de ficheiro de controlo de site necessário ou o objeto IResultObject do componente.
Com o IResultObject , atualize o ficheiro de controlo do site.
Utilize o método Put do objeto IResultObject para consolidar as alterações.
Exemplo
O exemplo C# seguinte acede ao componente do agente de cliente do ficheiro de controlo do site e cria uma propriedade fictícia, uma lista de propriedades e uma lista de várias cadeias. Em seguida, remove as atualizações que foram efetuadas. O exemplo demonstra como consultar o ficheiro de controlo do site, fazer atualizações e consolidar alterações ao ficheiro de controlo do site.
Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.
public void ReadWriteSCF(WqlConnectionManager connection,string siteCode)
{
try
{
// Query for the site's site control file client agent settings.
IResultObject resources =
connection.QueryProcessor.ExecuteQuery
("SELECT * FROM SMS_SCI_ClientComp WHERE ClientComponentName = 'Client Agent' AND SiteCode = '" +
siteCode + "'");
foreach (IResultObject resource in resources)
{
// Embedded Properties
Console.WriteLine("Embedded property");
Console.WriteLine("-----------------");
int value = 0;
string value1 = "";
string value2 = "";
// Write a dummy embedded property.
this.WriteScfEmbeddedProperty(resource, "Test", 10, "Hello", "World");
// Get the embedded property back and display the values.
if (this.GetScfEmbeddedProperty(resource, "Test", ref value, ref value1, ref value2))
{
Console.WriteLine("Value: " + value);
Console.WriteLine("Value1: " + value1);
Console.WriteLine("Value2: " + value2);
// Remove the dummy embedded property.
Dictionary<string, IResultObject> EmbeddedProperties = resource.EmbeddedProperties;
EmbeddedProperties.Remove("Test");
resource.EmbeddedProperties = EmbeddedProperties;
resource.Put();
// See if the dummy embedded property is still there.
if (this.GetScfEmbeddedProperty(resource, "Test", ref value, ref value1, ref value2))
{
Console.WriteLine("Test exists");
}
else
{
Console.WriteLine("Test does not exist");
}
}
else
{
Console.WriteLine("Property not found");
}
Console.WriteLine();
// Embedded property list.
Console.WriteLine("Embedded property list");
Console.WriteLine("----------------------");
// values contains the embedded property list.
ArrayList values = new ArrayList();
values.Add("Elephant");
values.Add("Giraffe");
// Write to the resource.
this.WriteScfEmbeddedPropertyList(resource, "Animals", values);
ArrayList retrievedValues;
// Get the embedded property list and display.
if (this.GetScfEmbeddedPropertyList(resource, "Animals", out retrievedValues))
{
foreach (string retrievedValue in retrievedValues)
{
Console.WriteLine(retrievedValue);
}
// Remove one of the entries.
retrievedValues.Remove("Elephant");
Console.WriteLine();
// Update the list.
this.WriteScfEmbeddedPropertyList(resource, "Animals", retrievedValues);
// Display the list again.
this.GetScfEmbeddedPropertyList(resource, "Animals", out retrievedValues);
foreach (string retrievedValue in retrievedValues)
{
Console.WriteLine(retrievedValue);
}
}
else
{
Console.WriteLine("None");
}
Console.WriteLine();
// RegMultiStringList.
Console.WriteLine("RegMultiStringList");
Console.WriteLine("------------------");
// valuesStrings is the RegMultiString List.
ArrayList valueStrings = new ArrayList();
valueStrings.Add("Tom");
valueStrings.Add("Harry");
this.WriteScfRegMultiStringList(resource, "Names", valueStrings);
ArrayList retrievedValuesStrings;
if (this.GetScfRegMultiStringList(resource, "Names", out retrievedValuesStrings))
{
foreach (string retrievedValue in retrievedValuesStrings)
{
Console.WriteLine(retrievedValue);
}
// Remove one of the entries.
retrievedValuesStrings.Remove("Tom");
Console.WriteLine();
// Update the list.
this.WriteScfRegMultiStringList(resource, "Names", retrievedValuesStrings);
// Display the list again.
this.GetScfRegMultiStringList(resource, "Names", out retrievedValuesStrings);
foreach (string retrievedValue in retrievedValuesStrings)
{
Console.WriteLine(retrievedValue);
}
}
else
{
Console.WriteLine("None");
}
}
}
catch (SmsException e)
{
Console.WriteLine("Failed: " + e.Message);
throw;
}
}
O método de exemplo tem os seguintes parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
connection |
- WqlConnectionManager |
Uma ligação válida ao Fornecedor de SMS. |
siteCode |
- String |
O código do site do Configuration Manager site. |
Compilando o código
Namespaces
System
System.Collections.Generic
System.Collections
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação robusta
As Configuration Manager exceções que podem ser geradas são SmsConnectionException e SmsQueryException. Estes podem ser capturados em conjunto com SmsException.
Confira também
Noções básicas do Fornecedor de SMSSobre a Configuration Manager Ficheiro de Controlo de SitesComo Ligar a um Fornecedor de Configuration Manager através do Código Gerido Como Ler uma descrição geral da Lista de Propriedades incorporadas do Ficheiro de Controlo de Sites Configuration Manager