Megosztás a következőn keresztül:


Számítógépváltozó létrehozása a Configuration Managerben

A Configuration Managert futtató számítógépekhez számítógépváltozót úgy hozhat létre, hogy SMS_MachineVariable példányait adja hozzá a SMS_MachineSettings osztálytömbtulajdonsághoz MachineVariables .

Számítógépváltozó létrehozása

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.

  2. Kérje le a példányát SMS_MachineSettings.

  3. Minden hozzáadandó változóhoz adja hozzá az a beágyazott objektum SMS_MachineVariable példányait a MachineVariables tömbtulajdonsághoz.

  4. Véglegesítse a módosításokat az SMS_MachineSettings osztálypéldányon.

Példa

Az alábbi példametódus létrehoz egy gyűjteményváltozót, és hozzáadja a megadott azonosító által azonosított gyűjteményhez.

A példában a LocaleID tulajdonság angol (USA) kódolású. Ha nem egyesült államokbeli területi beállításra van szüksége telepítéseket, a SMS_Identification kiszolgálói WMI-osztályLocaleID tulajdonságból szerezheti be.

A mintakód meghívásával kapcsolatos információkért lásd: A Configuration Manager kódrészleteinek meghívása.

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;
    }
}

A példametódus a következő paraméterekkel rendelkezik:

Paraméter Típus Leírás
connection -Kezelt: WqlConnectionManager
- VBScript: SWbemServices
Érvényes kapcsolat az SMS-szolgáltatóval.
siteCode -Kezelt: String
- VBScript: String
A forráshely helykódja.
name -Kezelt: String
- VBScript: String
A létrehozandó változó neve.
value -Kezelt: String
- VBScript: String
A változó értéke.
mask -Kezelt: Boolean
- VBScript: Boolean
Meghatározza, hogy az érték megjelenjen-e a Configuration Manager-konzolon.

true - a változó értéke nem jelenik meg.

false – megjelenik a változó értéke.
computerID -Kezelt: Integer
- VBScript: Integer
A számítógép azonosítója. Ez általában a SMS_R_System osztálytulajdonság ResourceID .

A kód fordítása

A C# példa a következő fordítási követelményekkel rendelkezik:

Névterek

Rendszer

System.Collections.Generic

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Összeszerelés

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robusztus programozás

További információ a hibakezelésről: Tudnivalók a Configuration Manager hibáiról.

.NET-keretrendszer biztonsága

További információ a Configuration Manager-alkalmazások biztonságossá tételéről: Configuration Manager szerepköralapú felügyelet.

Lásd még

Az operációs rendszer központi telepítésének számítógép-kezelésével kapcsolatos tudnivalók