Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U maakt een computervariabele voor een computer waarop Configuration Manager wordt uitgevoerd door exemplaren van SMS_MachineVariable toe te voegen aan de eigenschap SMS_MachineSettings klassematrix MachineVariables .
Een computervariabele maken
Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.
Haal een exemplaar op van
SMS_MachineSettings.Voor elke variabele die moet worden toegevoegd, voegt u exemplaren van het ingesloten object a
SMS_MachineVariabletoe aan deMachineVariablesmatrixeigenschap.Voer de wijzigingen door in het klasse-exemplaar
SMS_MachineSettings.
Voorbeeld
Met de volgende voorbeeldmethode wordt een verzamelingsvariabele gemaakt en toegevoegd aan de verzameling die wordt geïdentificeerd door de opgegeven id.
In het voorbeeld is de LocaleID eigenschap vastgelegd in het Engels (VS). Als u de landinstelling nodig hebt voor niet-Amerikaanse installaties kunt u deze ophalen via de WMI-klasse-eigenschapLocaleID SMS_Identification-server.
Zie Configuration Manager-codefragmenten aanroepen voor meer informatie over het aanroepen van de voorbeeldcode.
Sub CreateComputerVariable(connection, siteCode, name, value, mask, computerId)
Dim computerSettings
Dim computerVariables
Dim computerVariable
Dim Settings
' See if the computer settings object already exists. if it does not, create it.
Set settings = connection.ExecQuery _
("Select * From SMS_MachineSettings Where ResourceID = '" & computerID & "'")
If settings.Count = 0 Then
Wscript.Echo "Creating computer settings object"
Set computerSettings = connection.Get("SMS_MachineSettings").SpawnInstance_
computerSettings.ResourceID = computerId
computerSettings.SourceSite = siteCode
computerSettings.LocaleID = 1033
computerSettings.Put_
End If
' Get the computer settings object.
Set computerSettings = connection.Get("SMS_MachineSettings.ResourceID='" & computerId &"'" )
' Get the computer variables.
computerVariables=computerSettings.MachineVariables
' Create and populate a new computer variable.
Set computerVariable = connection.Get("SMS_MachineVariable").SpawnInstance_
computerVariable.Name = name
computerVariable.Value = value
computerVariable.IsMasked = mask
' Add the new computer variable.
ReDim Preserve computerVariables (UBound (computerVariables)+1)
Set computerVariables(UBound(computerVariables)) = computerVariable
computerSettings.MachineVariables=computerVariables
computerSettings.Put_
End Sub
public void CreateComputerVariable(
WqlConnectionManager connection,
string siteCode,
string name,
string value,
bool mask,
int computerId)
{
try
{
// Get the computer settings.
IResultObject computerSettings=null;
IResultObject computerSettingsQuery = connection.QueryProcessor.ExecuteQuery(
"Select * from SMS_MachineSettings where ResourceId = '" + computerId + "'");
foreach (IResultObject settings in computerSettingsQuery)
{
computerSettings = settings;
}
if (computerSettings == null) // It does not exist, so create it.
{
computerSettings = connection.CreateInstance(@"SMS_MachineSettings");
computerSettings["ResourceID"].IntegerValue = computerId;
computerSettings["SourceSite"].StringValue = siteCode;
computerSettings["LocaleID"].IntegerValue = 1033;
computerSettings.Put();
computerSettings.Get();
}
// Create the computer variable.
List<IResultObject> computerVariables = computerSettings.GetArrayItems("MachineVariables");
IResultObject computerVariable = connection.CreateEmbeddedObjectInstance("SMS_MachineVariable");
computerVariable["Name"].StringValue = name;
computerVariable["Value"].StringValue = value;
computerVariable["IsMasked"].BooleanValue = mask;
// Add the computer variable to the computer settings.
computerVariables.Add(computerVariable);
computerSettings.SetArrayItems("MachineVariables", computerVariables);
computerSettings.Put();
}
catch (SmsException e)
{
Console.WriteLine("Failed to create computer variable: " + e.Message);
throw;
}
}
De voorbeeldmethode heeft de volgende parameters:
| Parameter | Type | Beschrijving |
|---|---|---|
connection |
-Beheerd: WqlConnectionManager- VBScript: SWbemServices |
Een geldige verbinding met de SMS-provider. |
siteCode |
-Beheerd: String- VBScript: String |
De sitecode van de bronsite. |
name |
-Beheerd: String- VBScript: String |
De naam van de variabele die moet worden gemaakt. |
value |
-Beheerd: String- VBScript: String |
De waarde van de variabele. |
mask |
-Beheerd: Boolean- VBScript: Boolean |
Hiermee geeft u op of de waarde wordt weergegeven in de Configuration Manager-console.true - de variabelewaarde wordt niet weergegeven.false - de variabelewaarde wordt weergegeven. |
computerID |
-Beheerd: Integer- VBScript: Integer |
De computer-id. Dit is doorgaans de klasse-eigenschap SMS_R_SystemResourceID. |
De code compileren
Het C#-voorbeeld heeft de volgende compilatievereisten:
Naamruimten
Systeem
System.Collections.Generic
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Vergadering
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuust programmeren
Zie Over Configuration Manager-fouten voor meer informatie over foutafhandeling.
.NET Framework-beveiliging
Zie Op rollen gebaseerd beheer van Configuration Manager voor meer informatie over het beveiligen van Configuration Manager-toepassingen.
Zie ook
Informatie over computerbeheer voor besturingssysteemimplementatie