Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você cria uma variável de computador para um computador que está executando Configuration Manager adicionando instâncias de SMS_MachineVariable à propriedade de matriz de classe MachineVariables SMS_MachineSettings.
Para criar uma variável de computador
Configure uma conexão com o provedor de SMS. Para obter mais informações, consulte Conceitos básicos do Provedor SMS.
Obtenha uma instância de
SMS_MachineSettings.Para cada variável a ser adicionada, adicione instâncias do objeto incorporado a
SMS_MachineVariableà propriedade daMachineVariablesmatriz.Confirme as alterações na instância da
SMS_MachineSettingsclasse.
Exemplo
O método de exemplo a seguir cria uma variável de coleção e a adiciona à coleção identificada pelo identificador fornecido.
No exemplo, a LocaleID propriedade é codificada em código fixo para inglês (EUA). Se você precisar da localidade para telefones fora dos EUA existentes, você pode obtê-lo na propriedade Classe LocaleIDWMI do SMS_Identification Server.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando trechos de código do Configuration Manager.
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;
}
}
O método de exemplo tem os seguintes parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
connection |
- Gerenciado: WqlConnectionManager- VBScript: SWbemServices |
Uma conexão válida com o provedor de SMS. |
siteCode |
- Gerenciado: String- VBScript: String |
O código do site de origem. |
name |
- Gerenciado: String- VBScript: String |
O nome da variável a ser criada. |
value |
- Gerenciado: String- VBScript: String |
O valor da variável. |
mask |
- Gerenciado: Boolean- VBScript: Boolean |
Especifica se o valor é exibido no console do Configuration Manager.true - o valor da variável não é exibido.false - O valor da variável é exibido. |
computerID |
- Gerenciado: Integer- VBScript: Integer |
O identificador do computador. Normalmente, essa é a propriedade de classe ResourceID SMS_R_System. |
Compilando o código
O exemplo do C# tem os seguintes requisitos de compilação:
Namespaces
System
System.Collections.Generic
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Programação robusta
Para obter mais informações sobre o tratamento de erros, consulte Sobre erros do Configuration Manager.
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicativos do Configuration Manager, consulte Administração baseada em funções do Configuration Manager.
Confira também
Sobre a implantação do sistema operacional, gerenciamento do computador