Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy Configuration Manager-gyűjtemény gyűjteményváltozóját úgy hozhatja létre, hogy SMS_CollectionVariable kiszolgálói WMI-osztály példányait hozzáadja SMS_CollectionSettings CollectionVariables
kiszolgálói WMI-osztály tulajdonságához.
Gyűjteményváltozó létrehozása
Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.
Szerezze be a SMS_CollectionSettings egy példányát.
Minden hozzáadandó változóhoz adja hozzá a beágyazott objektum SMS_CollectionVariablepéldányait a CollectionVariables tömbtulajdonsághoz.
Véglegesítse a módosításokat az
SMS_CollectionSettings
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. Ha a SMS_CollectionSettings
gyűjtemény objektuma nem létezik, akkor létrejön.
A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.
Sub CreateCollectionVariable( connection, name, value, mask, collectionId, precedence)
Dim collectionSettings
Dim collectionVariables
Dim collectionVariable
Dim Settings
' See if the settings collection already exists. if it does not, create it.
Set settings = connection.ExecQuery _
("Select * From SMS_CollectionSettings Where CollectionID = '" & collectionID & "'")
If settings.Count = 0 Then
Wscript.Echo "Creating collection settings object"
Set collectionSettings = connection.Get("SMS_CollectionSettings").SpawnInstance_
collectionSettings.CollectionID = collectionId
collectionSettings.Put_
End If
' Get the collection settings object.
Set collectionSettings = connection.Get("SMS_CollectionSettings.CollectionID='" & collectionId &"'" )
' Get the collection variables.
collectionVariables=collectionSettings.CollectionVariables
' Create and populate a new collection variable.
Set collectionVariable = connection.Get("SMS_CollectionVariable").SpawnInstance_
collectionVariable.Name = name
collectionVariable.Value = value
collectionVariable.IsMasked = mask
' Add the new collection variable.
ReDim Preserve collectionVariables (UBound (collectionVariables)+1)
Set collectionVariables(UBound(collectionVariables)) = collectionVariable
collectionSettings.CollectionVariables=collectionVariables
collectionSettings.Put_
End Sub
public void CreateCollectionVariable(
WqlConnectionManager connection,
string name,
string value,
bool mask,
string collectionId,
int precedence)
{
try
{
IResultObject collectionSettings = null;
// Get the collection settings. Create it if necessary.
IResultObject collectionSettingsQuery = connection.QueryProcessor.ExecuteQuery(
"Select * from SMS_CollectionSettings where CollectionID='" + collectionId + "'");
foreach (IResultObject setting in collectionSettingsQuery)
{
collectionSettings = setting;
}
if ( collectionSettings == null)
{
collectionSettings = connection.CreateInstance("SMS_CollectionSettings");
collectionSettings["CollectionID"].StringValue = collectionId;
collectionSettings.Put();
collectionSettings.Get();
}
// Create the collection variable.
List<IResultObject> collectionVariables = collectionSettings.GetArrayItems("CollectionVariables");
IResultObject collectionVariable = connection.CreateEmbeddedObjectInstance("SMS_CollectionVariable");
collectionVariable["Name"].StringValue = name;
collectionVariable["Value"].StringValue = value;
collectionVariable["IsMasked"].BooleanValue = mask;
// Add the collection variable to the collection settings.
collectionVariables.Add(collectionVariable);
collectionSettings.SetArrayItems("CollectionVariables", collectionVariables);
// Set the collection variable precedence.
collectionSettings["CollectionVariablePrecedence"].IntegerValue = precedence;
collectionSettings.Put();
}
catch (SmsException e)
{
Console.WriteLine("Failed to create collection 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. |
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. |
CollectionID |
-Kezelt: String -Vbscript: String |
A gyűjtemény, amelybe a változó bekerül. |
Precedence |
-Kezelt: Integer -Vbscript: Integer |
A változó elsőbbséget élvez a tömb más változóival szemben. |
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
A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.
.NET-keretrendszer Security
A Configuration Manager alkalmazások biztonságossá tételével kapcsolatos további információkért lásd: Configuration Manager szerepköralapú felügyelet.
Lásd még
Objektumok áttekintése– Csatlakozás SMS-szolgáltatóhoz Configuration Manager felügyelt kód használatával
Csatlakozás SMS-szolgáltatóhoz Configuration Manager WMI használatával
Számítógépváltozó létrehozása Configuration Manager
Configuration Manager objektum létrehozása felügyelt kód használatával
Configuration Manager objektum létrehozása WMI használatával
Az operációs rendszer központi telepítésének számítógép-kezelésével kapcsolatos tudnivalók