Git Product home page Git Product logo

bat's Introduction

BAT - Bastogne Automation Tool


Description

BAT is a PowerShell module used for streamlining helpdesk operations for an Army network. This tool helps automate the process of checking user's compliance in ATCTS alongside account creation/modification in Active Directory.

Features

  • Check ATCTS compliance
  • Check if user has an AD account (including visitors accounts)
  • Enable users in AD
  • Create users
  • Log output for later reference

A Note on Classification

This codebase for the BAT module itself is unclassified. It is written in a way that deliberately contains no Personally Identifiable Information (PII) or Controlled Unclassified Information (CUI). As it exists in this repository, BAT is unusable (as it is dependent on the configuration of the OrganizationalUnits.csv file and the presence of an ATCTS report).

Once installed and configured, the classification would raise to CUI -- thus requiring compliance with all CUI data protection measures.

Requirements

BAT has the following dependencies:

  • PowerShell version 5.1 or higher
  • Active Directory (RSAT)
  • An ATCTS report in CSV format with the following headers:
    1. EDIPI
    2. Personnel Type
    3. HQ Alignment Subunit
    4. Name
    5. Rank/Grade
    6. Profile Verified
    7. Date SAAR/DD2875 Signed
    8. Date Awareness Training Completed
    9. Date Most Recent Army IT UA Doc Signed
    10. Enterprise Email Address
  • Must be run with administrative privileges to create/enable users

Installation

  1. Click the 'code' dropdown menu and download the .zip file.
  2. Extract the contents and find the BAT folder.
  3. The BAT folder should have the following contents/structure:

    • BAT/
      |_ BAT-Library/
      | |_ BAT-Library.psm1
      | |_ OrganizationalUnits.csv
      | |_ Set-OrganizationalUnits.ps1
      |_ BAT.psd1
      |_ BAT.psm1
      
  4. Copy the BAT folder and all of its contents to C:\Program Files\WindowsPowerShell\Modules
  5. Open a PowerShell window and run: Import-Module BAT
  6. For usage instructions run: Get-Help BAT

Configuration - (Manual)

Before using the -Create feature, you must configure your OrganizationalUnits.csv file. This file can be found in the BAT-Library subfolder. This file simply contains the Distinguished Names (DNs) of the Organizational Unit (OU) containers that house your users. Leave the Name field as default for 'Visitor' and 'HHC BDE', however you must change the Name field for each of your subunits.

How do I find my DNs?
You can find your OU DNs by opening Active Directory Users and Computers (ADUC), right clicking on the OU where your users are, and selecting properties. Then click on Attribute Editor and find the Distinguished Name field.

Configuration - (Scripted)

Alternatively, you can run the interactive configuration script Set-OrganizationalUnits.ps1 also located in the BAT-Library subfolder. This script will need to be run with administrative privileges, as it must make changes in the C:\Program Files directory.

Usage

  • Basic syntax:
  • bat [EDIPIs] [Options]

  • Options:
    • CheckATCTS: This will check the user(s) ATCTS report and provide feedback on delinquent items.
    • CheckAD: This will report whether or not the user is found in Active Directory. It will also identify if the user has a DoD visitor account on Ft. Campbell.
    • Create: This will create the user, formatting all fields based on information from the ATCTS report and placing in the correct OU based on the OrganizationalUnits.csv file. User will only be created if ATCTS report is clean. User will be created in a disabled state -- it is suggested to follow up with the -Enable option. (requires admin credentials)
    • Enable: This will enable the user, only if their ATCTS report is clean. (requires admin credentials)
    • Log: This will log the output to a .txt file in the working directory.
    • Path: This will specify the path to your ATCTS report (.csv file) -- default value is .\report_export if not specified

  • Simple Examples:
  • bat 1234567890 -CheckATCTS -- This will check a single user's ATCTS report
    bat 1234567890 -CheckAD -- This will check if the user exists in Active Directory
    bat 1234567890 -Enable -- This will enable the user, but only if their ATCTS report is clean
    bat 1234567890 -Create -- This will create the user in the appropriate OU, but only if their ATCTS report is clean

  • Dynamic Examples:
  • bat 1234567890,3216549870,4560123987 -CheckATCTS -- Check multiple user's ATCTS
    bat 1234567890,3216549870,4560123987 -CheckATCTS -CheckAD -- Check multiple user's ATCTS reports and check for accounts in Active Directory
    bat 1234567890,3216549870,4567893210 -Create -Enable -- Create multiple users and enable them after creating.
    bat 1234567890,3216549870,4560123987 -CheckATCTS -Log -- Check multiple user's ATCTS and log the output

bat's People

Contributors

joshrnoll avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.