ABSTRACT With advancement of technology things are becoming simpler and easier for me
With advancement of technology things are becoming simpler and easier for me. Automatic systems are being preferred over manual system.
This seminar is done by using PowerShell, in this concept I worked on two different servers one is Jira Account and second is Active Directory. The functionality of this is to add, remove, modify the users in Active Directory as well as in Jira Account and the same thing is applicable for the groups. Actually this project provide the functionality in three different ways, first way: if the user want to perform some tasks only on the Active Directory,second way: if the user want to perform some tasks only on the Jira Account. third way: if the user want to perform tasks on the both Active Directory and Jira Account. The data related to users are stored in text document in json format which is easy to read for the users.
The concept will work after running the script file in powershell By this I can save the time because if I add users and groups manually then it will consume more time.For the working of script:Firstly I need to configure winrm in our machine if it is not configured then on the remote machine I need to enable PSRemoting and configure winrm.
The concept will work after running the script file in powershell.After providing the values for the parameter, the script will ask about user’s choice that whether he/she wants to perform tasks on Active Directory or on Jira Account or on both. After selecting the choice the script again will ask the user that what kind of tasks he/she wants to perform like: adding the user, adding the group or removing the user and etc. After selecting the kind of task the script will perform that task.
I would like to take this opportunity to express my profound gratitude and deep regards to our teachers of technical seminar Mrs. Moumita Ghosh and Dr. Uma Kumari for their exemplary monitoring and constant encouragement throughout the course of this seminar title “Automation Using Powershell”.
I would take this opportunity to thank our teachers for constant support and guidance throughout the completion of seminar and also for providing us with the necessary information without which this seminar report would not have been completed.
Lastly, we would like to thank Mr. VK Jain, Dean CET and Mr. Anil Dhaiya, HOD CET for providing me with this opportunity and supporting me with my technical seminar.
Above all I am highly grateful to our parents whose continuous support throughout our education carrier helped me in achieving our academic goals.
Aditi Singh 140184
TABLE OF CONTENTS
List of Figures i
List of Abbreviation ii
List of Tables iii
Chapter 1: Introduction 1
1.1 Aim 1
1.2 Scope 1
1.3 Motivation 1
1.4 Assumptions 2
1.5 Important outcomes 2
1.6 Automation 2
Chapter 2: Powershell 3
Chapter 3: Active Directory 5
Chapter 4:Jira Account 8
Chapter 5: Design and Implementation 9
Chapter 6: Testing and result 11
LIST OF FIGURES
1.1 FIGURE 3.1:AD Architecture 6
1.2 FIGURE 3.2:AD functions 7
1.3 FIGURE 4.1:JIRA Dashboard 9
LIST OF TABLES
5.1 Test case for login in active directory 11
5.2 Test case for login in jira account 11
5.3 Test case for jira account 11
5.4 Test case for powershell 11
LIST OF ABBREVIATIONS
1.AD – Active Directory
5.Config file-configuration file
With advancement of technology things are becoming simpler and easier for us. Automation is the use of control systems and information technologies to reduce the need for human work in the production of goods and services.. Through this project we have tried to show automatic control for adding users and group of users as a result of which human power and time is saved to some extent.
The aim of the project is by automating, you free up time to focus on things you’d like to fix, improve, or upgrade in your environment and provide functionality of this project is to :add,remove and modify the users in Active Directory as well as in Jira Account and the same thing is applicable for the groups.
In the scope of industrialization, automation is a step beyond mechanization. Automation plays an increasingly important role in the world economy and in daily experience. AS are being preferred over manual system.Our project may be used in universities,offices and for the particular project where we have to handle the data related to users or group of users.
Our Motivation for this project was, by working in the IT environment we have noticed this automation procedure for adding the users and groups of users ,it will save a lot time and efforts of the employee so from there we get motivated and worked on this to achieve this fastest way for adding users to Jira which is commonly used for project management and for active directory in which every company includes its lits of users and groups.
?The user have account on jira .
?The user have knowledge of active directory.
?Internet dependency should be taken care of.
1.5 Important outcomes
?Thorough knowledge about cloud architecture
?Understanding of cloud services.
?Kdg about python programming and linux
?Kdg about databases
?Kdg of apache and various protocols as mentioned before
“The technique of making an apparatus, a proc, or a system operate automatically.”The automation profession includes “everyone involved in the creation and application of technology to monitor and control the production and delivery of products and services”; and the automation professional is “any individual involved in the creation and application of technology to monitor and control the production and delivery of products and services.”
PowerShell is a task automation and configuration management framework from Microsoft. A task-based command-line shell and scripting language. Designed specifically for system administrators and power-users. To rapidly automate the administration of multiple operating systems.
Windows PowerShell commands, called cmdlets, let you manage the computers from the command line. Windows PowerShell providers let you access data stores, such as the registry and certificate store, as easily as you access the file system. In addition, Windows PowerShell has a rich expression parser and a fully developed scripting language.
The Windows PowerShell Integrated Scripting Environment (ISE) is a host application for Windows PowerShell. In Windows PowerShell ISE, you can run commands and write, test, and debug scripts in a single Windows-based graphic user interface with multiline editing, tab completion, syntax coloring, selective execution, context-sensitive help, and support for right-to-left languages. You can use menu items and keyboard shortcuts to perform many of the same tasks that you would perform in the Windows PowerShell console. For example, when you debug a script in the Windows.
Windows PowerShell includes the following features:
1.Cmdlets for performing common system administration tasks, such as managing the registry,services, processes, and event logs, and using Windows Management Instrumentation (WMI).
2.A task-based scripting language and support for existing scripts and command-line tools.
3.Consistent design. Because cmdlets and system data stores use common syntax and naming conventions, data can be shared easily and the output from one cmdlet can be used as the input to another cmdlet without reformatting or manipulation.
4.Simplified, command-based navigation of the operating system, which lets users navigate the registry and other data stores by using the same techniques that they use to navigate the file system.
5.Powerful object manipulation capabilities. Objects can be directly manipulated or sent to other tools or databases.
6.Extensible interface. Independent software vendors and enterprise developers can build custom tools and utilities to administer their software.
Active Directory (AD) is a directory service that Microsoft developed for Windows domain networks.
It is included in most Windows Server operating systems as a set of processes and services.
Active Directory was initially released with Windows 2000 Server and revised with additional features in Windows Server 2008. Active Directory provides a common interface for organizing and maintaining information related to resources connected to a variety of network directories. The directories may be systems-based (like Windows OS), application-specific or network resources, like printers. Active Directory serves as a single data store for quick data access to all users and controls access for users based on the directory’s security policy.
Active Directory provides the following network services:
?Lightweight Directory Access Protocol (LDAP) – An open standard used to access other directory services
?Security service using the principles of Secure Sockets Layer (SSL) and Kerberos-based authentication
?Hierarchical and internal storage of organizational data in a centralized location for faster access and better network administration
?Data availability in multiple servers with concurrent updates to provide better scalability
Active Directory is internally structured with a hierarchical framework. Each node in the tree-like structure is referred to as an object and associated with a network resource, such as a user or service. Like the database topic schema concept, the Active Directory schema is used to specify attribute and type for a defined Active Directory object, which facilitates searching for connected network resources based on assigned attributes. For example, if a user needs to use a printer with color printing capability, the object attribute may be set with a suitable keyword, so that it is easier to search the entire network and identify the object’s location based on that keyword.
FIGURE 3.1 : AD Architecture
FIGURE 3.2 :AD Functions
A JIRA Software user is any user that has :
?full access to all of the features and
?functionality that we’ve built into JIRA Software specifically for software teams
FIGURE 4.1: Jira Dashboard
DESIGN AND IMPLEMENTATION
This project is based on iterative model because in each phase we perform testing in a iterative way.
Number of iterations is performed with the execution of the code on windows powershell ISE and this system is dynamic in nature because at the start of the execution every parameter used in the program is inserted through user same is applied for the path of config file.Actually this project provide the functionality in three different ways, first way: if the user want to perform some tasks only on the Active Directory. second way: if the user want to perform some tasks only on the Jira Account. third way: if the user want to perform tasks on the both Active Directory and Jira Account. The data related to users are stored in text document in json format which is easy to read for the users
The implementation of this project is very easy and fast ,we can easily implemented our code by running on windows powershell ISE if we have the needed config file.
Working of script
Firstly we need to configure winrm in our machine if it is not configured then on the remote machine we need to enable PSRemoting and configure winrm.
The project will work after running the script file in powershell. In this project I have used one parameter one i.e the path of the configuration file (config.txt) “$path_of_config_file”. After providing the values for the parameter, the script will ask about user’s choice that whether he/she wants to perform tasks on Active Directory or on Jira Account or on both. After selecting the choice the script again will ask the user that what kind of tasks he/she wants to perform like: adding the user, adding the group or removing the user and etc. After selecting the kind of task the script will perform that task.
Execution of script
For executing the script we need to just run the that script named as user.ps1 in powershell and before running the script we need to import two modules, one for Active Directory using command import-module Active Directory and one for Jira Account using command import-module PSJira.
Command for executing the script file:
> & “path of file\ filename(user.ps1)”
If the path does not contain any spaces, then you can omit the quotes and the ‘;’ operator, we can directly give the path followed by the filename like:
> path of the file\filename(user.ps1)
Remote server tools needed to perform actions on server,below is the link for downloading the software.
Invoke-command is used to remotely execute tasks on virtual machine in this way our data flow from main machine to the virtual machine.
Table 5.1 Test case for login in active directory
Test case for VM oracle box Output
Login incorrect Not connected to ip 192.168.1.1
Login correct Successful
Table 5.2 Test case for login in jira account
Test case for jira Output
Login incorrect Jira returned bad request
Login correct Successful
Table 5.3 Test case for Jira Account
Test case for Jira Output
Credential match Credentials matched
Credential mismatch Wrong credentials
Table 5.4 Test case for powershell
Test case for script Output
Script run Failed
Script run with exceptions Succesful
I have successfully completed my Technical Seminar on Automation using powershell.I have go through various technologies and concepts and this concept of automation using powershell attracts me a lot that:
How I can automate work using powershell and the advantage of using Jason format for the configuration file which includes data related to users and group of users.
I am able to add users and group of users to active directory and jira account by executing the powershell scripts.I am successfully presented this concept in my Technical Seminar.
Identity and Access Automation with Windows Powershell
3 Powershell Manual :Powershell docs
Windows powershell ISE
Powershell \Trusted hosts
Platform of Jira Account