Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um mithilfe des verwalteten SMS-Anbieters in die Standortsteuerungsdatei von Configuration Manager zu schreiben, rufen Sie die Standortdefinitionsdatei ab, indem Sie die erforderliche Ressource oder Komponente abfragen. Anschließend aktualisieren Sie die eingebettete Eigenschaft, die Liste der eingebetteten Eigenschaften oder die Liste mit mehreren Zeichenfolgen nach Bedarf.
Hinweis
Sie können auch den Verbindungs-Manager GetInstance verwenden, um die erforderliche Ressource oder Komponente abzurufen.
Der verwaltete Configuration Manager verwaltet die Verbindungssitzung zur Standortsteuerungsdatei automatisch für Sie. Daher behandeln Sie die von der Abfrage zurückgegebenen IResultObject-Objekte genauso wie IResultObject-Objekte , die vom SMS-Anbieter abgerufen wurden.
So lesen und schreiben Sie in die Websitesteuerungsdatei
Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code.
Verwenden Sie die Methode QueryProcessor im Verbindungs-Manager, das ExecQuery- oder die GetInstance-Methode, um die erforderliche Websitesteuerungsdateiressource oder das IResultObject-Objekt der Komponente abzurufen.
Aktualisieren Sie mithilfe des IResultObject die Websitesteuerungsdatei.
Verwenden Sie die IResultObject-Objektput-Methode, um die Änderungen zu übernehmen.
Beispiel
Das folgende C#-Beispiel greift auf die Client-Agent-Komponente der Websitesteuerungsdatei zu und erstellt eine Dummyeigenschaft, eine Eigenschaftsliste und eine Multistring-Liste. Anschließend werden die vorgenommenen Aktualisierungen entfernt. Das Beispiel zeigt, wie Sie die Websitesteuerungsdatei abfragen, Aktualisierungen vornehmen und Änderungen an der Websitesteuerungsdatei übernehmen.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager-Codeausschnitten.
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;
}
}
Die Beispielmethode hat die folgenden Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
connection |
- WqlConnectionManager |
Eine gültige Verbindung mit dem SMS-Anbieter. |
siteCode |
- String |
Der Standortcode für den Configuration Manager-Standort. |
Kompilieren des Codes
Namespaces
System
System.Collections.Generic
System.Collections
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Robuste Programmierung
Die Configuration Manager-Ausnahmen, die ausgelöst werden können, sind SmsConnectionException und SmsQueryException. Diese können zusammen mit SmsException abgefangen werden.
Siehe auch
Grundlagen des SMS-AnbietersInformationen zur Configuration Manager Site Control-DateiHerstellen einer Verbindung mit einem Configuration Manager Anbieter mithilfe von verwaltetem CodeLesen einer Configuration Manager Websitesteuerungsdatei Übersicht über eingebetteteEigenschaftenliste Objekte