Endpoint Protection

 View Only
  • 1.  ADAM as a LDAP sync group for SEPM

    Posted May 18, 2010 09:25 AM
    https://www-secure.symantec.com/connect/articles/adam-and-eve

    - hope it gets approved at some time. In the meantime, this is my thread for feedback


  • 2.  RE: ADAM as a LDAP sync group for SEPM

    Posted May 19, 2010 03:39 AM
      |   view attached
    Work in progress
    The pdf shows some of the things needed to be done to define an ADAM and how to sync to SEPM

    Attachment(s)

    pdf
    SEPM ADAM screenshots.pdf   229 KB 1 version


  • 3.  RE: ADAM as a LDAP sync group for SEPM

    Posted May 25, 2010 03:21 AM
    
    
     pa
    
    param(
    
    [string]$CSVFile,
    
    [string]$ADAMHost,
    
    [string]$TopDN,
    
    [string]$WhatIf
    
    )
    
    Set-PSDebug -Strict
    
    $SvnId = '$Id: SymantecEve.ps1 20 2010-05-25 06:37:21Z OB $'
    
    $SvnId = [regex]::split($SvnId, ' ')
    
    $MajorVer = '0'
    
    $MinorVer = $SvnId[2]
    
    $Version = "$MajorVer.$MinorVer"
    
    $Usage = @"
    
    SymantecEve (Version: $Version)
    
    Function: to populate an ADAM instance from a CSVFile to be used as a LDAP sync source for Symantec SEPM.
    
    Options:
    
    -CSVFile The csv file to be imported
    
    -ADAMHost The dns/ip of the ADAM host, with optional port eg localhost:389
    
    -TopDN The dn used eg dc=net
    
    -WhatIf This "usage"
    
    "@

     


    function Create-DN([string]$ADDN ){

    $ADDNA = $ADDN.split(',')

    $ADDNRA = $ADDNA

    [array]::Reverse($ADDNRA)

     

    $TestTopDN = $ADDNRA[0]

    if ( ! $TestTopDN.Contains($TopDN) ){

    return

    }

     

    $DN = ''

    $Base = ''

    foreach ( $aDN in $ADDNRA){

    trap [Exception] {

    continue

    }

    if ( $aDN -eq $TopDN ){

    $Base = $aDN

    continue

    }else{

    $objDomain = [ADSI]"LDAP://$ADAMHost/$Base"

    $objOU = $objDomain.Create("domainDNS", $aDN )

    $Base = "$aDN," + $Base

    $objOU.SetInfo()

    }

    }

    }

    function Create-Computer([string]$ADDN, [string]$DN ){

    trap [Exception]{

    continue

    }

    $objDomain = [ADSI]"LDAP://$ADAMHost/$ADDN"

    $objOU = $objDomain.Create("Computer", "cn=$CN" )

    $objOU.SetInfo()

    }

    function Create-Group([string]$ADDN, [string]$Group ){

    trap [Exception]{

    Write-Host $Group

    continue

    }

    $objDomain = [ADSI]"LDAP://$ADAMHost/$ADDN"

    $objOU = $objDomain.Create("organizationalUnit", $Group )

    $objOU.SetInfo()

    }

    $ImportObjectS = Import-Csv -Path $CSVFile

    $ADDNHash = @{}

    foreach ( $ImportObject in $ImportObjects ){

    $CN = $ImportObject.CN

    $ADDN = $ImportObject.ADDN

     

    if ( (! $ADDN ) -or ( ! $CN ) ){

    continue

    }

     

    $CN = $CN.ToLower()

    $ADDN = $ADDN.ToLower()

     

    if ( ! $ADDNHash.ContainsKey($ADDN) ){

    Create-DN $ADDN

    $ADDNHash.Add( $ADDN, $ADDN )

    }

    $Group = $ImportObject.SEPMGroup

    if ( $Group.IsPresent ){

    $Group = "OU=$Group"

    Create-Group $ADDN $Group

    $ADDN = "$Group, $ADDN"

    }else{

    $Group = "OU=Default"

    Create-Group $ADDN $Group

    $ADDN = "$Group, $ADDN"

    }

    Create-Computer $ADDN $CN

    }