Share via


Example: CLM Determining Connected Profiles and Requests

The following code samples show how to use CLMUtils to get a list of CSEntry objects that are joined to the MVEntry that is being evaluated in the provisioning/deprovisioning code. The two types of CSEntry objects are clmRequest and clmProfile.

Get Connected Profiles

    List<CSEntry> profileCSEntryList = GetConnectedProfiles(targetCLMMA)
    
    ' Check each of the profiles and see if there are any that already
    ' match the desired profile status
    Dim profileCSEntry As CSEntry
    For Each profileCSEntry In  profileCSEntryList
        If profileCSEntry("pr_flags").IsPresent And
            profileCSEntry("pr_flags").IntegerValue = 1 Then
    ' TODO: Implement your provisioning action here
        End If
    Next profileCSEntry
    List<CSEntry> profileCSEntryList =
        GetConnectedProfiles(targetCLMMA);
    
    // Check each of the profiles and see if there are any that already
    // match the desired profile status
    foreach (CSEntry profileCSEntry in profileCSEntryList)
    {
        if ((profileCSEntry["pr_flags"].IsPresent) &&
            (profileCSEntry["pr_flags"].IntegerValue == 1 /*Primary*/))
        {
    //TODO: Implement your provisioning action here
        }
    }

Get Connected Requests

    List<CSEntry> requestCSEntryList =
        GetConnectedRequests(targetCLMMA,
        New Guid(csentry("profile_uuid").BinaryValue))
    
    ' Check each of the requests that are associated with that profile template
    ' and see if there are any that already match the requested type
    Dim requestCSEntry As CSEntry
    For Each requestCSEntry In  requestCSEntryList
        If requestCSEntry("req_type").IsPresent And
            requestCSEntry("req_type").IntegerValue = 1 Then
    'TODO: Implement your action here
        End If
    Next requestCSEntry
    List<CSEntry> requestCSEntryList =
        GetConnectedRequests(targetCLMMA,
        new Guid(csentry["profile_uuid"].BinaryValue));
    
    // Check each of the requests that are associated with that profile template
    // and see if there are any that already match the requested type
    foreach (CSEntry requestCSEntry in requestCSEntryList)
    {
        if ((requestCSEntry["req_type"].IsPresent) &&
            (requestCSEntry["req_type"].IntegerValue == 1 /*Enroll*/))
        {
    //TODO: Implement your action here
        }
    }

Send comments about this topic to Microsoft

Build date: 2/16/2009