2015-11-16 Project Proposal PDT401: Automatic deployment of operating system, drivers and software using MDT, Chocolatey and Powershell. Gus Johansson Thomas Rovala
Table of contents 1 Introduction... 2 2 Problem Analysis... 2 3 Solution... 2 4 Requirement Specification... 2 4.1 Hardware... 2 4.2 Software... 2 5 Preliminary design... 3 5.1 Topology diagram... 3 5.2 Project details... 3 5.3 Project breakdown... 4 6 Preliminary schedule... 5 7 Conclusion... 6 References... 7
1 Introduction This project will explore ways of increasing administrator efficiency with regards to time, effort, and cost, when installing operating systems, software drivers and software programs on multiple computers in an organization. 2 Problem Analysis Individually installing operating systems, drivers and software on workstations and servers is not scalable solution, due to its ineffective use of administrator time. This is especially true when setting up new sites where no previous configuration exists on the machines. Inefficient use of administrator time will in turn lead to higher labour costs, and put an unnecessary amount of workload on the administrator on an individual level. The inefficient means of configuring the machines also increase the lead time from the point where the machines are ready for configuration, to the point where they are ready to be used by the organization. 3 Solution Microsoft Deployment Toolkit (MDT) [1] gives administrators the opportunity to automatically deploy and install Windows operating systems for workstations and servers. When combined with Chocolatey [2], the complete solution creates effective means of deploying operating systems, software drivers and Windows PowerShell scripts [3] to the workstations. The PowerShell scripts may then be used to automatically download and install any additional software programs the user should get access to. 4 Requirement Specification 4.1 Hardware This project demands a network switch and a minimum of two PCs, where one acts as a server, and the other acts as a client. For a more thorough testing environment a second client is desirable, for a total of three PCs. 4.2 Software The following is a list of software that will be used in this project: Windows Server 2012 R2, using free licenses from DreamSpark. Chocolatey, an open source framework for installing software programs. 2
5 Preliminary design 5.1 Topology diagram The following figure shows a simple topology to be used during configuration, testing, and verification of the project details: Fig 5.1: Topology to be used during the project. 5.2 Project details Considering our lack of experience in the areas to be explored during this project, our mindset is to work with an iterative methodology. As the project progresses and the main objects are fulfilled, we wish to add additional features to it. We will explore the possibilities to deploy different types of Windows OS versions, add Microsoft Office to the MDT task sequence including an activation procedure, add the installed OS to Active Directory and the proper AD Organisation Unit, and branding the OS with organization logo. The main features for the project are described in further detail in the following sub headers: 5.2.1 Microsoft Deployment Toolkit MDT will be used for deploying and installing a Windows operating system. 5.2.2 Chocolatey A Chocolatey library will be used to host software to be downloaded by and installed on the workstations using PowerShell scripts included in the OS image received by the MDT server. An advantage of using a separate library instead of including the software in the OS image is that new software can easily be added to all workstations on the site afterwards. 5.2.3 Windows PowerShell scripts The PowerShell scripts will force the client to access the Chocolatey library to download and install the chosen software programs. 3
5.3 Project breakdown Locate physical resources Install Windows Server 2012 R2 o Install Hyper-V server o Set up Active Directory (might be optional) o Set up Microsoft Deployment Toolkit Import client OS image Import drivers Import PowerShell scripts created in step 4. o Set up SQL Database (might be optional) Set up Chocolatey library o Add software programs to library. o Configure the library to be accessible from the clients. Code PowerShell scripts o Code the scripts in such a way that the clients automatically access the Chocolatey library and downloads the software programs and installs them. Test and verify the solution o Use PXE boot on the clients to access the MDT server. o Verify that the OS image is properly installed. o Verify that the PowerShell scripts successfully forces the client communicate with the Chocolatey library, and that the chosen software is automatically installed on the client. o Verify software functionality 4
6 Preliminary schedule The following figures display the preliminary timeline for the proposed project: PROJECT START PROJECT PROPOSAL AND PLAN INSTALLATION OF SERVER SETTING UP TOPOLOGY CONFIGURING OF MDT AND CHOCOLATEY HALF-TIME STATUS REPORT REPORT WRITING RESEARCH PHASE PROJECT REQUIREMENT S SPECIFICATION TESTING DEPLOYMENT BEGINS 14 Nov 14 Dec TWEAKING AND OPTIMIZATION PROJECT END Fig 6.1: Graphical representation of the preliminary timeline. PROJECT DETAILS DATE MILESTONE 2015-11-14 Project Start 2015-11-18 Project proposal and plan 2015-11-19 Research phase 2015-11-25 Setting up topology 2015-11-26 Installation of server 2015-11-27 Project requirements specification 2015-11-29 Configuring of MDT and Chocolatey 2015-12-03 Testing deployment begins 2015-12-06 Half-time status report 2015-12-10 Tweaking and optimization 2015-12-20 Report writing 2015-11-25 Project End Fig 6.2: Text based representation of the preliminary timeline. 5
7 Conclusion The solution presented in this proposal is in use by many organizations today. The installation and configuration of the system is however not an easy task. In our first NIT semester we successfully deployed an operating system to a workstation using FOG [4], while our teacher installed and configured the FOG server. With our restricted experience in this specific field, it is realistic to anticipate issues during installation and configuration. We do however welcome this challenge, and believe in our own skills to deliver the project on time. Furthermore we believe that this will make a great project for the PDT course, and we look forward to learn more about this area of IT, that may very well be relevant to our future career. 6
References 1. Microsoft Technet. Microsoft Deployment Toolkit. Microsoft (2015). [Online] https://technet.microsoft.com/en-us/windows/dn475741.aspx (Accessed 2015-11-15) 2. Chocolatey. About Chocolatey. Real Dimensions Software, LLC (2015). https://chocolatey.org/about (Accessed 2015-11-15) 3. Microsoft Developer Network. Microsoft Powershell. Microsoft (2015). [Online] https://msdn.microsoft.com/en-us/mt173057.aspx (Accessed 2015-11-15) 4. FOG Project. The FOG Project. FOG Project (2015). [Online] http://www.fogproject.org (Accessed 2015-11-15) 5. TechNet Magazine. Zero Touch Installation: Automating Operating Systems Migrations. Microsoft Corporation and CMP Media, LLC (2008). [Online] https://technet.microsoft.com/en-us/magazine/2006.09.zerotouch.aspx (Accessed 2015-11-15) 7