Compartilhar via


Como Listar Atribuições de Configuração

Os exemplos de código seguintes mostram como listar as atribuições de linha de base de configuração atuais e um conjunto específico de propriedades para cada atribuição no Configuration Manager.

Para listar Atribuições de Configuração

  1. Configure uma ligação ao Fornecedor de SMS.

  2. Consulta para todas as instâncias SMS_BaselineAssignment.

  3. Loop através da matriz de atribuições de linha de base de configuração disponíveis, listando cada atribuição de linha de base de configuração e propriedades específicas.

Exemplo

O seguinte método de exemplo mostra como listar as atribuições de linha de base de configuração atuais e um conjunto específico de propriedades para cada atribuição no Configuration Manager.

Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.


Sub DCMAssignments_ListProperties(swbemServices)

    On Error Resume Next

    Dim queryBaselineAssignmentResults
    Dim assignment

    ' Query assignments.
    Set queryBaselineAssignmentResults = swbemServices.ExecQuery("Select * From SMS_BaselineAssignment", , 0)

    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get assignments."
        Exit Sub
    End If

    On Error Goto 0

    ' List assignments and various assignment's properties.
    For Each assignment In queryBaselineAssignmentResults
        Wscript.Echo ""
        Wscript.Echo "Listing Assignment Properties for Assignment ID: " & assignment.AssignmentID
        Wscript.Echo "Listing Assignment Properties for Assignment Description: " & assignment.AssignmentDescription
        Wscript.Echo "-------------------------------------------------------------------------------"
        Wscript.Echo "ApplyToSubTargets: " & assignment.ApplyToSubTargets
        Wscript.Echo "AssignmentAction:  " & assignment.AssignmentAction
        Wscript.Echo "AssignmentID: " & assignment.AssignmentID
        Wscript.Echo "AssignmentName: " & assignment.AssignmentName
        Wscript.Echo "AssignmentDescription: " & assignment.AssignmentDescription
        Wscript.Echo "AssignmentUniqueID: " & assignment.AssignmentUniqueID
        Wscript.Echo "Collection: " & assignment.TargetCollectionID
        Wscript.Echo "CreationTime: " & assignment.CreationTime
        Wscript.Echo "DesiredConfigType: " & assignment.DesiredConfigType
        Wscript.Echo "DPLocality: " & assignment.DPLocality
        Wscript.Echo "EvaluationSchedule: " & assignment.EvaluationSchedule
        Wscript.Echo "LogComplianceToWinEvent: " & assignment.LogComplianceToWinEvent
        Wscript.Echo "NotifyUser: " & assignment.NotifyUser
        Wscript.Echo "SendDetailedNonComplianceStatus: " & assignment.SendDetailedNonComplianceStatus
        Wscript.Echo "SourceSite: " & assignment.SourceSite
        Wscript.Echo "StartTime: " & assignment.StartTime
        Wscript.Echo "SuppressReboot: " & assignment.SuppressReboot
        Wscript.Echo "UseGMTTimes: " & assignment.UseGMTTimes
        Wscript.Echo "==============================================================================="
    Next

    If queryBaselineAssignmentResults.Count = 0 Then
        Wscript.Echo "      no query results"
    End If

    set queryBaselineAssignmentResults = Nothing

End Sub


public void DCMAssignments_ListProperties(WqlConnectionManager connection)
{

    IResultObject baselineAssignments = connection.QueryProcessor.ExecuteQuery("SELECT * FROM SMS_BaselineAssignment");

    try
    {
        foreach (IResultObject assignment in baselineAssignments)
        {
            Console.WriteLine("Listing Assignment Properties for Assignment ID: " + assignment["AssignmentID"].StringValue);
            Console.WriteLine("Listing Assignment Properties for Assignment Description: " + assignment["AssignmentDescription"].StringValue);
            Console.WriteLine("--------------------------------------------------------------------------------");
            Console.WriteLine("ApplyToSubTargets: " + assignment["ApplyToSubTargets"].BooleanValue);
            Console.WriteLine("AssignmentAction:  " + assignment["AssignmentAction"].IntegerValue);
            Console.WriteLine("AssignmentID: " + assignment["AssignmentID"].StringValue);
            Console.WriteLine("AssignmentName: " + assignment["AssignmentName"].StringValue);
            Console.WriteLine("AssignmentDescription: " + assignment["AssignmentDescription"].StringValue);
            Console.WriteLine("AssignmentUniqueID: " + assignment["AssignmentUniqueID"].StringValue);
            Console.WriteLine("Collection: " + assignment["TargetCollectionID"].StringValue);
            Console.WriteLine("CreationTime: " + assignment["CreationTime"].StringValue);
            Console.WriteLine("DesiredConfigType: " + assignment["DesiredConfigType"].StringValue);
            Console.WriteLine("DPLocality: " + assignment["DPLocality"].IntegerValue);
            Console.WriteLine("EvaluationSchedule: " + assignment["EvaluationSchedule"].StringValue);
            Console.WriteLine("LogComplianceToWinEvent: " + assignment["LogComplianceToWinEvent"].BooleanValue);
            Console.WriteLine("NotifyUser: " + assignment["NotifyUser"].BooleanValue);
            Console.WriteLine("SendDetailedNonComplianceStatus: " + assignment["SendDetailedNonComplianceStatus"].BooleanValue);
            Console.WriteLine("SourceSite: " + assignment["SourceSite"].StringValue);
            Console.WriteLine("StartTime: " + assignment["StartTime"].StringValue);
            Console.WriteLine("SuppressReboot: " + assignment["SuppressReboot"].IntegerValue);
            Console.WriteLine("UseGMTTimes: " + assignment["UseGMTTimes"].BooleanValue);

            // Process the array.
            int[] arrayofAssignedCIs = assignment["AssignedCIs"].IntegerArrayValue;
            Console.Write("Assigned baseline ID(s): ");
            foreach (int i in arrayofAssignedCIs)
            {
                Console.Write(i + " ");
            }

            Console.WriteLine();

            // NULL BY DEFAULT (on a generic assignment created through the user interface).
            //
            //Console.WriteLine("EnforcementDeadline: " + assignment["EnforcementDeadline"].StringValue);
            //Console.WriteLine("ExpirationTime: " + assignment["ExpirationTime"].StringValue);
            //Console.WriteLine("NonComplianceCriticality: " + assignment["NonComplianceCriticality"].IntegerValue);
            //Console.WriteLine("OverrideServiceWindows: " + assignment["OverrideServiceWindows"].BooleanValue);
            //Console.WriteLine("RebootOutsideOfServiceWindows: " + assignment["RebootOutsideOfServiceWindows"].BooleanValue);
            //Console.WriteLine("WoLEnabled: " + assignment["WoLEnabled"].BooleanValue);

            Console.WriteLine("================================================================================");

        }

    }
    catch (SmsException ex)
    {
        Console.WriteLine("Failed to list assignment properties. Error: " + ex.Message);
        throw;
    }
}

O método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
- connection
- swbemServices
- Gerido: WqlConnectionManager
- VBScript: SWbemServices
Uma ligação válida ao Fornecedor de SMS.

Compilando o código

Namespaces

System

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programação robusta

Para obter mais informações sobre o processamento de erros, veja About Configuration Manager Errors (Acerca dos Erros de Configuration Manager).

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicações Configuration Manager, veja Configuration Manager administração baseada em funções.

Confira também

About Configuration Baselines and Configuration ItemsObjects overviewHow to Connect to a Configuration Manager Provider using Managed CodeHow to Connect to a Configuration Manager Provider Using WMI SMS_BaselineAssignment Server WMI Class (Como Ligar a um Fornecedor de Linhas de Base de Configuração e Objetos de Itens de Configuração) Com a Classe WMI de Servidor SMS_BaselineAssignment