Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
No Gestor de Configuração, adiciona-se uma categoria a um controlador Windows adicionando o identificador exclusivo para a categoria à propriedade SMS_Driver classe WMI do servidor. CategoryInstance_UniqueIDs
A matriz contém um ou mais identificadores de cordas que correspondem ao valor da propriedade classe WMI do SMS_CategoryInstance servidor. CategoryInstance_UniqueID
Existe um exemplo de SMS_CategoryInstance objeto classe WMI do servidor para cada categoria do sistema.
Nota
O identificador único para uma categoria de condutor é pré-preparado com o texto "DriverCategories". Outros tipos de categoria têm texto diferente.
Uma categoria tem informações de localização, e é a partir da propriedade classe WMI do SMS_CategoryInstance servidor que o nome de LocalizedCategoryInstanceName
exibição da categoria é obtido.
Para adicionar uma categoria a um condutor Windows
Configurar uma ligação com o Fornecedor DE SMS. Para mais informações, consulte os fundamentos do Fornecedor de SMS.
Obtenha o SMS_Driver objeto para o condutor a que pretende adicionar uma categoria.
Obtenha o identificador de nome de categoria do SMS_CategoryInstance objeto da Classe WMI do servidor que corresponda à categoria desejada.
Adicione o identificador de categoria à propriedade de matriz de objetos SMS_Driver Classe WMI do
CategoryInstance_UniqueIDs
servidor.Comprometa as alterações da classe WMI do SMS_Driver Servidor.
Exemplo
Os seguintes métodos de exemplo adicionam uma categoria a um condutor Windows. driverID
é um objeto válido SMS_Driver classe WMI do servidor. Para obter mais informações, consulte sobre a gestão do controlador de implementação do sistema operativo.
Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.
Sub AddDriverCategory(connection,driver,categoryName)
Dim categories
Dim category
Dim driverCategoryID
Dim categoryID
Dim results
Dim existingCategory
' Find the category that matches the supplied category name.
Set results = _
connection.ExecQuery("SELECT * From SMS_CategoryInstance WHERE LocalizedCategoryInstanceName = '" _
+ categoryName+ "'")
' If the category was found, add it to the driver.
For Each category in results
If IsNull(driver.CategoryInstance_UniqueIDs) or UBound (driver.CategoryInstance_UniqueIDs) = -1 Then
' It is empty. Add the category.
driver.CategoryInstance_UniqueIDs = Array(category.CategoryInstance_UniqueID)
Else
' Determine if the category is already applied to the driver.
For each existingCategory in driver.CategoryInstance_UniqueIDs
if existingCategory = category.CategoryInstance_UniqueID Then
WScript.Echo "Already added"
Exit Sub
End If
Next
' Add the category.
categories = driver.CategoryInstance_UniqueIDs
Redim Preserve categories (UBound (driver.CategoryInstance_UniqueIDs)+1)
categories (Ubound (categories)) = category.CategoryInstance_UniqueID
driver.CategoryInstance_UniqueIDs = categories
End If
driver.Put_
Next
End Sub
public void AddDriverCategory(
WqlConnectionManager connection,
IResultObject driver,
string categoryName)
{
try
{
// Get the category.
IResultObject results = connection.QueryProcessor.ExecuteQuery(
"SELECT * From SMS_CategoryInstance WHERE LocalizedCategoryInstanceName = '" + categoryName + "'");
ArrayList driverCategories = new ArrayList(driver["CategoryInstance_UniqueIDs"].StringArrayValue);//;driverCategories);
foreach (IResultObject category in results)
{
foreach (string driverCategory in driverCategories)
{
// Do nothing if the driver already has the category.
if (driverCategory == category["CategoryInstance_UniqueID"].StringValue)
{
Console.WriteLine("Already exists");
return;
}
}
// Add the category to the action.
driverCategories.Add(category["CategoryInstance_UniqueID"].StringValue);
}
// Update the driver.
driver["CategoryInstance_UniqueIDs"].StringArrayValue = (string[])driverCategories.ToArray(typeof(string));
driver.Put();
}
catch (SmsException e)
{
Console.WriteLine("Failed to add the category" + e.Message);
throw;
}
}
O método exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Description |
---|---|---|
Connection |
- Gerido: WqlConnectionManager - VBScript: SWbemServices |
Uma ligação válida ao Fornecedor de SMS. |
driver |
- Gerido: IResultObject - VBScript: SWbemObject |
O motorista Windows. É um exemplo de SMS_Driver Classe WMI do servidor. |
categoryName |
- Gerido: String - VBScript: String |
O nome de uma categoria existente. Isto corresponde à propriedade SMS_CategoryInstance Classe WMI do servidor. LocalizedCategoryInstanceName |
A Compilar o Código
Este exemplo C# requer:
Espaços de nomes
Sistema
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assemblagem
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação Robusta
Para obter mais informações sobre o tratamento de erros, consulte Sobre erros do Gestor de Configuração.
Segurança do .NET Framework
Para obter mais informações sobre a segurança das aplicações do Gestor de Configuração, consulte a administração baseada em funções do Gestor de Configuração.
Consulte também
Sobre a gestão do condutor de implementação do sistema operativo
Como Remover uma Categoria de um Controlador do Windows