Como ler propriedades preguiçosas usando o WMI

Para ler uma propriedade preguiçosa de um objeto Configuration Manager retornado em uma consulta, você obtém a instância do objeto, que, por sua vez, recupera quaisquer propriedades de objeto preguiçoso do Provedor de SMS.

Observação

Se você souber o caminho completo para o objeto WMI, uma chamada para o SWbemServices método de classe Get retornará o objeto WMI junto com quaisquer propriedades preguiçosas. Para obter mais informações, consulte Como ler um objeto Configuration Manager usando o WMI.

Para obter mais informações sobre propriedades preguiçosas, consulte Configuration Manager Propriedades Preguiçosas.

Para ler propriedades preguiçosas

  1. Configure uma conexão com o Provedor de SMS. Para obter mais informações, consulte Como conectar-se a um provedor de SMS no Configuration Manager usando o WMI.

  2. Usando o objeto SWbemServices obtido na primeira etapa, use o objeto ExecQuery para consultar objetos Configuration Manager.

  3. Iterar por meio dos resultados da consulta.

  4. Usando o SWbemServices objeto obtido na primeira etapa, chame Get para obter o objeto SWbemObject para cada objeto consultado do qual você deseja obter propriedades preguiçosas.

Exemplo

O exemplo de código VBScript a seguir consulta todos os objetos SMS_Collection e exibe nomes de regra obtidos da CollectionRules propriedade lazy.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.

Sub ReadLazyProperty(connection)  

    Dim collection  
    Dim collections  
    Dim collectionLazy  
    Dim i  

    ' Get all collections.  
    Set collections = _  
        connection.ExecQuery("Select * From SMS_Collection")  

    For Each collection in collections  

        Wscript.Echo Collection.Name   

        ' Get the collection object.  
        Set collectionLazy = connection.Get("SMS_Collection.CollectionID='" + collection.CollectionID + "'")  

        ' Display the rule names that are in the lazy property CollectionRules.  
        If IsNull(collectionLazy.CollectionRules) Then  
            Wscript.Echo "No rules"  
        Else   
            For i = 0 To UBound(collectionLazy.CollectionRules)  
                WScript.Echo "Rule " + collectionLazy.CollectionRules(i).RuleName  
            Next  
       End If       
    Next          

End Sub      

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

Parâmetro Tipo Descrição
connection - SWbemServices Uma conexão válida com o provedor de SMS.

Compilando o código

Confira também

Instrumentação de gerenciamento do Windows
Configuration Manager propriedades preguiçosas
Visão geral de objetosComo chamar um método de classe de objeto Configuration Manager usando o WMI
Como se conectar a um provedor de SMS no Configuration Manager usando o WMI
Como criar um objeto Configuration Manager usando o WMI
Como excluir um objeto Configuration Manager usando o WMI
Como modificar um objeto Configuration Manager usando o WMI
Como executar uma consulta de Configuration Manager assíncrona usando o WMI
Como executar uma consulta de Configuration Manager síncrona usando o WMI
Como ler um objeto Configuration Manager usando o WMI