Resolution

OWKO or otherWellKnownObjects is an attribute of the Active Directory object like OU (Organizational Unit), CN, User, Group, Contact, etc.

OWKO establishes one-way link between two different AD objects. The link will be updated if the DN (Distinguished Name) of the child object is changed.

OWKO is stored in the following format:

B:<char count>:<well known GUID>:<object DN>

Example:

B:32:9E444526CB6F4D5C9A59C9A84E26B627:CN=S001000011 AL, CN=All Address Lists, CN=Address Lists Container, CN=hosting, CN=Microsoft Exchange, CN=Services, CN=Configuration, DC=hosting, DC=local

Important OWKO GUIDs:

  • D22DFCC5B73645E99E16C9AD3D61F34F - DN of the Offline Address List for this company
  • 9E444526CB6F4D5C9A59C9A84E26B627 - DN of the Address List for this company
  • 89FB25B7DF784FC198A493E2E8A0EE7E - DN of the Global Address List
  • 58888CFC8F7F430C8183102CD5758D81 - DN of the parent OU
  • CC016CF08DEF4EA4A05C9C54B198785A - DN of the customer OU

Additional OWKO GUIDs for Exchange 2010 and above:

  • 5CA85AC057A0459194F8B75DA2D35D35 - DN of the Rooms Address List for this company
  • E375E41B3AE442039E1CC48E0F093EC6 - DN of the Address Book Policy for this company

Useful links:

Tools for operating OWKO:

  1. Utility ldifde.exe - LDIF Directory Exchange

    In the command line window (cmd) run:

    > ldifde -d "DN_of_customers_OU" –f output_file_name –p Base
    

    The command above will export content of object with DN "DN_of_customers_OU" in AD (active Directory) and save result in the file <output file name>.

    DN of customer's organizational unit can be found in POA database, e.g. using subscription ID:

    plesk=> SELECT org_ldap_path FROM exch_domain_services WHERE subscription_id = <customer_sub_id>;
    

    In the created file with results you will find all OWKO of the needed object, e.g.:

    otherWellKnownObjects:
    B:32:4619BE598BF441DB8C9DB0482E62E386:CN=_Private,OU=S000000510,OU=Provider,OU=Hosting,DC=hosting,DC=local
    otherWellKnownObjects:
    B:32:EA755D448CE64157A20E82B7CCBE14B0:CN=customer,CN=WatOrgTypes,CN=_Private,OU=Hosting,DC=hosting,DC=local
    otherWellKnownObjects:
    B:32:3B6FF4FA8AA248039AD8F9493A43B704:CN=CSRAdmins@S000000510,OU=S000000510,OU=Provider,OU=Hosting,DC=hosting,DC=local
    otherWellKnownObjects:
    B:32:65F37ECB46704F0E9300E1FB48E1096E:CN=Admins@S000000510,OU=S000000510,OU=Provider,OU=Hosting,DC=hosting,DC=local
    otherWellKnownObjects:
    B:32:58888CFC8F7F430C8183102CD5758D81:OU=Provider,OU=Hosting,DC=hosting,DC=local
    otherWellKnownObjects:
    B:32:CC016CF08DEF4EA4A05C9C54B198785A:OU=S000000510,OU=Provider,OU=Hosting,DC=hosting,DC=local
    
  2. Create VB script getowko.vbs with the following content (replace DN of AD object in parameters of the GetObject function with the required one):

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set stdout = fso.GetStandardStream(1, True)
    
    Set obj = GetObject("LDAP://OU=S000000510,OU=Provider,OU=Hosting,DC=hosting,DC=local")
    vArray = obj.GetEx("otherWellKnownObjects")
    'for i=lbound(owko) to ubound(owko)
    '               stdout.writeline typename(owko(i))
    'next
    For Each var In vArray
        Set oDNWithBinary = var
                    binArr = oDNWithBinary.BinaryValue
                    guid = ""
                    For i=1 To LenB(binArr)
            guid = guid & Right("0" & Hex(AscB(MidB(binArr, i, 1))), 2)
        Next
            stdout.writeline "B:" & Len(guid) & ":" & guid & ":" & oDNWithBinary.DNString
    next
    

    Run the script in command line window:

    > cscript getowko.vbs
    

    Example of VB script getowko.vbs is attached to this KB article.

  3. Use the ProvTest.exe utility on MPS (Microsoft Provisioning System) server or the WPETest.exe utility on WPE (Windows Provisioning Engine) server to send the GetProperties request to the used Provisioning System:

    • MPS server:

      > "C:\Program Files\Microsoft Provisioning\Tools\ProvTest.exe" request.xml
      
    • WPE server:

      • POA 5.4.0 and below:

        > "C:\Program Files\Parallels\Windows Provisioning Engine\bin\WPETest.exe" -e http://WPE_SITE_IP:48480/WPEService.asmx request.xml
        
      • POA 5.4.1 and above:

        > "C:\Program Files\Parallels\Windows Provisioning Engine\bin\WPETest.exe" -e https://WPE_SITE_IP:48480/WPEService.asmx request.xml
        

    Notes:

    • Replace WPE_SITE_IP with the IP address of the WPE server
    • Replace 48480 with the actual IP port of the WPE service website (48480 is the default port)
    • Replace request.xml with the full path to the prepared XML file with the request
  4. Use the attached PowerShell script getowko.ps1. Pass Distinguished Name (DN) of the customer's OU as a parameter to the script, e.g.:

    PS C:> .\getowko.ps1 "OU=S000000031,OU=Provider,OU=Hosting,DC=hosting,DC=local"
    

Attachments

getowko.zip

Internal content