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.
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
Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.
Kérje le a példányát
SMS_MachineSettings
.Minden hozzáadandó változóhoz adja hozzá az a beágyazott objektum
SMS_MachineVariable
példányait aMachineVariables
tömbtulajdonsághoz.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