Skip to content

Verifying the user's local credentials

Brent Moberly edited this page Jan 12, 2015 · 1 revision

###Overview

In this tutorial, we'll verify that the user has a password set. As with the last tutorial, this is fairly straight-forward. We just need to include a task to check the user's credentials and two other tasks to update the progress dialog

Setup

This tutorial assumes that you have completed the tutorial, Setting a restore point, and have a version of the engine that will start and attempt to contact your web-server.

A note on examples

Our xml files are starting to get too long to include their full text inline in these tutorials. When you see this symbol external link in the text, you can click on it to view the xml in question.

Checking the user's credentials

  1. Create a new xml file called credentials.xml and add to following to it:
<Content xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://incert.incommon.org/schemas ../Schemas/tasklist.xsd">
  <Branches>
    <TaskBranch name="credentials.verify admin account credentials">
      <UserInterface.ActivateCheckedParagraph minimumTaskTime="1">
        <Properties>
          <Dialog>Main dialog</Dialog>
          <ControlKey>Confirming administrator account</ControlKey>
        </Properties>
      </UserInterface.ActivateCheckedParagraph>
      <Authentication.VerifyLocalPasswordSet/>
      <UserInterface.CompleteCheckedParagraph minimumTaskTime="1">
        <Properties>
          <Dialog>Main dialog</Dialog>
          <ControlKey>Confirming administrator account</ControlKey>
        </Properties>
      </UserInterface.CompleteCheckedParagraph>
    </TaskBranch>
  </Branches>
</Content>

As in the last tutorial, the heavy lifting is done by the task Authentication.VerifyLocalPasswordSet. This task will verify that the current user has a local password set. UserInterface.ActivateCheckedParagraph and UserInterface.CompleteCheckedParagraph just drive the progress dialog.

  1. Modify the Control.GetContentFromEndpoint block at the start of the main role-branch of tasklist.xml to load restorepoint.xml:
<Control.GetContentFromEndpoint>
   <Properties>
     <ContentName>banners.xml</ContentName>
     <ContentName>restorepoint.xml</ContentName>
     <ContentName>credentials.xml</ContentName>
   </Properties>
 </Control.GetContentFromEndpoint>

This will import the credentials.verify admin account credentials task branch from credentials.xml.

  1. Configure that main role-branch of tasklist.xml to run the credentials.verify admin account credentials branch after it runs the restorepoint.set restore point branch:
<Control.ReturnBranchResult>
  <Properties>
    <Branch>restorepoint.set restore point</Branch>
  </Properties>
</Control.ReturnBranchResult>
<Control.ReturnBranchResult>
  <Properties>
    <Branch>credentials.verify admin account credentials</Branch>
  </Properties>
</Control.ReturnBranchResult>
  1. Upload tasklist.xml external link and credentials.xml external link to your server and run the engine to completion. If you're running the engine from an account with a local password, you should see the Authentication.VerifyLocalPasswordSet task complete:

verifying security progress dialog

If you are running the engine from an account without a local password set, the engine should get an error.

Conclusion

In this tutorial, we added a task branch to verify that the user has a local password set. In the next tutorial, we will download and run Microsoft's Malicious Software Removal Tool to verify that the user's computer is not infected by known malware.