Educational ICT Virtualisation Specialist

Twitter LinkedIn E-mail
Precedence Technologies Ltd
Technology House, 36a Union Lane
Cambridge, CB4 1QB, United Kingdom
T: +44 (0)1223 359900
E: sales@precedence.co.uk
Linton-Every

Jump to CustomersLinton > Linton > Every

Every (WeAreEvery.com)

This is the compliance and HR system used by Anglian Learning. For integration with Office365 logins Every provide a 'headless' LDAP sync utility which submits data to the remote system, where an admin user has created mappings between AD groups and Every user roles.

LDAP mappings

  • Login to https://www.every.education/ using the e-mail every@lvc.org and once on the first page click the Admin link in the left sidebar of the page
  • On the User Administration tab, and then under LDAP User Templates create an LDAP User Template which maps between a template name and an actual Every permission level (e.g. IssuesOnly)

Note that required fields are marked and assigning remote groups is optional, so leave the User Group section blank.

  • On the User Administration tab, and then under Manage Active Directory Mappings create a mapping between the LDAP User Template and a named AD Group (i.e. a group name from your local AD instance which you will be using to sync Every settings)

Download sync utility

  • Login to https://www.every.education/ using the e-mail every@lvc.org and once on the first page click the Admin link in the left sidebar of the page
  • Click the Download LDAP (Headless) button at the top of the page
  • Save the download somewhere, but don't leave it lying around because the authorisation key to submit data is written into the archive
  • Click the account name at the top of the screen, and then My Account. Get/Set the username you will be using in the Task Scheduler, which must match the field Windows Account Name. The format is DOMAIN\Username. This is likely meant for use with SSO, but this is apparently how the data submission is referenced against the user.

Install sync utility

Inside the archive for the downloaded sync utility there are installation instructions, but they are poorly written and the setup it describes wouldn't work if taken literally (an admin user logged into a server who then never logs out). Admin rights aren't needed but the main problem is that not using an admin account requires Log on as a batch rights for whichever used is used.

The sync utility can only work from the Task Scheduler, since part of what it does it to look at the Task Scheduler for the task named Every.Ldap.Headless. It pulls the username from the task properties (either author or owner, I'm not sure which) instead of the security context of its own process. There is no configuration step, presumably it sends every user and every group.

  • Create a GPO which will modify the Log on as a batch job for the machine which will run the sync task, adding the default values as well as. The setting is located at Local Policies/User Rights Assignment/Log on as a batch job, if the AD account used to sync will be named everysync the values are:
    • LINTON\everysync
    • BUILTIN\Performance Log Users
    • BUILTIN\Backup Operators
    • BUILTIN\Administrators
  • Extract the sync agent archive into C:\Every
  • Modify the permissions on C:\Every, removing inheritance, then the default permissions for standard users, then add modify permission for the LINTON\everysync account
C:\Users\administrator.LINTON>icacls \\every\c$\every
\\every\c$\every NT AUTHORITY\SYSTEM:(OI)(CI)(F)
                 BUILTIN\Administrators:(OI)(CI)(F)
                 LINTON\everysync:(OI)(CI)(M)

File permissions are very important here. The write permission is needed because the log file will be written into this directory. Default permissions at this location will allow domain users to see the authentication token

  • Configure a Scheduled Task named Every.Ldap.Headless and configure it to run Ldap.Headless.exe. It is probably safest to import this reference task, since this also defines that task author with the same username
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2020-10-21T10:51:58.6539799</Date>
    <Author>LINTON\everysync</Author>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2020-10-21T04:32:00</StartBoundary>
      <ExecutionTimeLimit>PT2H</ExecutionTimeLimit>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>LINTON\everysync</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT2H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Every\Ldap.Headless.exe</Command>
    </Exec>
  </Actions>
</Task>

The agent and the Scheduled Task definition are currently stored in \\resources\itsupport$\Software\Every Headless LDAP.

At no point do you need to login as the everysync user, you only need to enter its password when saving the scheduled task.

© Copyright Precedence Technologies 1999-2025
Page last modified on October 21, 2020, at 04:17 PM by mwillcock