Deploying Windows: Moving from VBScript to PowerShell Michael Niehaus

Slides:



Advertisements
Similar presentations
Windows 7 Test Prep Ch 2 Part 3.
Advertisements

Michael Niehaus & Tim Mintner Senior Software Development Engineers Microsoft Corporation WCL309.
What’s coming in Sccm 2007R2 aka Sccm 2007R2: 10 reasons to upgrade Kim Oppalfens SCUG.be.
BDD 2007 for Vista Anders Björling Senior Consultant Microsoft Mathias Carlberg Infrastructure Architect Microsoft.
Business Desktop Deployment: Roadmap and Futures
Mark O’Shea | MVP Windows Expert – IT Professional.
Chris Nackers Senior Consultant Microsoft MVP - ConfigMgr.
1 Week #1 Objectives Review clients, servers, and Windows network models Differentiate among the editions of Server 2008 Discuss the new Windows Server.
Deployment Deep Dive on Windows 7 Rodney Buike – Technology Evangelist Microsoft Canada
MCITP: Microsoft Windows Vista Desktop Support - Enterprise Section 1: Prepare to Deploy.
4/17/2017 7:07 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Deployment - Now and Into the Future
Microsoft® Desktop Deployment Assistance Program 4: SMS OS Deployment Feature Pack Thomas Lee Chief Technologist QA plc
MDOP 2010: Diagnostic and Recovery Toolset (DaRT) Speaker Fabrizio Grossi
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 2 Installing Windows Server 2008.
Implementering af Windows 8 in real life Windows 8 OS Deployment Windows 8 OS Deployment features of ConfigMgr 2012 SP1 Take a look at what’s coming.
Windows 7 Deployment Tools and Technologies
System Center 2012 R2 Windows Azure Pack Service Management Automation 101.
Richard Smith Senior Consultant – Management, Operations and Deployment Microsoft UK Simple Deployments with Windows AIK and Windows DS.
Michael Niehaus OS DeploymentApp Deployment Infrastructure Deployment.
Welcome!.  Plan it – Practice it.  Floppy disks  Winnt /b  Answer files  Remote Installation services  Ghost (imaging)  ImageX and MDT2010.
Michael Niehaus Windows Store Apps Traditional Desktop Apps Setup.exe installers Windows Installer (MSI) OneClick (.NET) App-V,
Ben Hunter | Sr. Product Marketing Manager Michael Niehaus | Sr. Product Marketing Manager Johan Arwidmark | Microsoft MVP and Chief Technical Architect.
Windows Vista: Deployment. What Will We Cover? Managed Deployment Advantages Windows Imaging Windows Preinstallation Environment Application Compatibility.
Changing the Way Systems are Deployed 1. 2 * Ghost since 1999 * Almost 4500 licenses * Prior to 2007 license count increase of 5% or greater a year *
MCTS Guide to Microsoft Windows Server 2008 Applications Infrastructure Configuration (Exam # ) Chapter Two Deploying Windows Servers.
Stu Fox Microsoft New Zealand
Look Mom, No Hands! Zero Touch Software and OS Deployment!
Installing Windows Vista Lesson 2. Skills Matrix Technology SkillObjective DomainObjective # Performing a Clean Installation Set up Windows Vista as the.
Windows XP to Windows 7 using P2V Migration. Agenda Deploying Local P2V Migration for SA Retro Mode Scripts Customize MDT 2010 with Disk2VHD Windows Virtual.
Workstation Imaging Process Overview Thomson Reuters –Manoj Shah –Mike Bowers –Curt Ricard –Sangkhone Stoltz –Joe Ness March 26 th, 2009.
CN1176 Computer Support Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Deploying Windows 7 Lesson 3. Objectives Understand enterprise deployments Capture an image file Modify an image file Deploy an image file.
Microsoft Solution Accelerator for Business Desktop Deployment Microsoft ® Solution Accelerator for Business Desktop Deployment Training for IT Professionals.
Michael Niehaus Senior Software Development Engineer Microsoft Corporation Session Code: CLI307.
Create a Microsoft Image RHONDA LAYFIELD SR. DEPLOYMENT ARCHITECT DMVMUG User Conference 2014 – Reston, VA.
2 Advanced OS Deployment with Configuration Manager: Extending OS Deployment with the Microsoft Deployment Toolkit Michael Niehaus Senior Software Development.
CN1176 Computer Support Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Week #2 Objectives Upgrade and Migrating to Windows 7 Image-Based Installation of Windows 7 Application Compatibility.
What’s New in SharePoint 2010 SharePoint 2010 Development Primer New Developer Tools for SharePoint 2010 SharePoint 2010 Integration with PowerShell.
Microsoft Management Seminar Series SMS 2003 Change Management.
TechEd /25/2017 5:34 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
WCL303 Business Desktop Deployment (BDD) 2007: Part 2, Deploying the 2007 Office system Michael Niehaus Systems Design Engineer Microsoft
WCL302 Business Desktop Deployment (BDD) 2007: Part 1, Deploying Windows Vista Michael Niehaus Systems Design Engineer Microsoft
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Howard Carter – Senior Consultant Reggie Gibson – Consultant Introduction to the Microsoft Deployment.
Virtual techdays INDIA │ 9-11 February 2011 Unleash the power of MDT 2010 Kaliyan Selvaraj │ Sr. Technical Consultant, Dell India.
John Pritchard | Windows Client | Microsoft. FAQ WDS and what’s happened to RIS? What’s the WIM – driver injection and image management? What’s in automated.
Free, online, technical courses Take a free online course. Microsoft Virtual Academy.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
Create a Microsoft Image Rhonda Layfield Sr. Deployment Architect
ITMT Windows 7 Configuration Chapter 3 – Deploying Windows 7 ITMT 1371 – Windows 7 Configuration 1.
Windows Vista Configuration MCTS : Installing and Upgrading.
What’s New in the Windows Deployment Tools Rhonda Layfield Sr. Deployment Architect
Configuration Manager Deploying Surface Pro 3 with Configuration Manager Niall Brady ECM MVP
Operated by Los Alamos National Security, LLC for NNSA U N C L A S S I F I E D Slide 1 Windows Desktop Deployment Service at LANL Mark Wingard Central.
MDT and PowerShell, Volume 2
Deploying and Maintaining Server Images
Modernize ConfigMgr OSD with Community Tools
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Microsoft Virtual Academy
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Chapter 5 Objectives Understand How to Plan a Windows 7 Deployment with Answer Files. Capture System Image Using Sysprep and ImageX. Use Deployment Image.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
11/29/2018 1:22 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Deploying Windows 7 Lesson 3.
2/22/2019 Automating migration from Windows XP to Windows 8.1 Kyle Rosenthal Technical Microsoft Virtual Academy © 2012 Microsoft.
What's New in Microsoft Deployment Toolkit 2012 (MDT)
Windows 10 Deployment with MDT 2016 (8443)
(c) 2011 Microsoft. All rights reserved.
Presentation transcript:

Deploying Windows: Moving from VBScript to PowerShell Michael Niehaus Director of Product Marketing Microsoft Keith Garner Solutions Architect 1E

@keithga1 MVP, Windows for IT Many years working on Survived 12.5 years at Microsoft 20 years of Windows deployment Anything sweet Keith Garner Michael Niehaus

Back to the stone ages Remember “state of the art” for deployment in 2004? Business Desktop Deployment 1.0 Third-party imaging tools Other random command-line tools Kixtart scripts, batch files as “glue” Windows 3.1, Windows 95, Windows NT 4.0, Windows 2000 moving to Windows XP Needed minimal runtime footprint

Moving forward Shifting to new technologies in : Business Desktop Deployment 2.0 and 2.5 Switched to ImageX (WIM) imaging tools Other random command-line tools VBScript as “glue” “Monad” beta released in 2005, released as PowerShell in 2006 Required Windows XP SP2 (2004),.NET Framework 2.0 (2005) Windows 95, Windows NT 4.0 to Windows XP

The Modern Age Solid foundation established in 2007: Business Desktop Deployment 2007 PowerShell-based MMC console Task sequencing engine borrowed from SMS 2003 OSDFP Other random command-line tools VBScript as “glue” HTML-based Hypertext Applications (HTAs) for wizards Windows 2000 to Windows XP, Windows XP to Windows Vista, Windows Vista to Windows 7, Windows 7 to Windows 10

Dabbling in PowerShell PowerShell features added in MDT 2012 “Run PowerShell Script” task sequence action Custom PowerShell host Automatically captures script output into a CMTrace-friendly file Uses the task sequencer progress dialog for first-level PowerShell progress Task sequence variable provider Exposes task sequence variables via TSENV: and TSENVLIST: PowerShell drives Long-term vision was to slowly replace VBScripts with PowerShell scripts…

“Stagnation”: The excuses No architectural changes from BDD 2007 to MDT 2013 due to: Adding support for new operating system releases Requirements for new features (UEFI, BitLocker pre- provisioning, SecureBoot, in-place upgrade, DISM, etc.) Heavy use requires high quality, heavy testing About 39,000 lines of VBScript code (includes comments, blank lines) Limited personnel “It still works”

VBScript vs. PowerShell VBScriptPowerShell Language robustnessMinimalGreat ExtensibilityCOM (ActiveX controls)Cmdlets, COM,.NET components, dynamical code (C#) Useful extensionsA handful built into Windows Scripting Host, a few available, fairly hard to create (e.g. Scripting.FileSystemObject) Many built into PowerShell, additional available, reasonable easy to create Debugging and diagnostics capabilities MinimalGreat IT pro knowledgeDecliningGrowing Windows PE footprint~5MB~125MB Client-side requirementsA still-supported OSWindows Management Framework (20MB),.NET 4.5 (60MB) on Windows 7, built into Windows 10

Tools vs. Cmdlets Tool(s)PowerShell Module Concerns or issues DISKPART.EXEStorageUnable to use PowerShell cmdlets to completely set up UEFI disks DISM.EXEDISMSomewhat fragile (e.g. must be loaded before MDT modules) SCANSTATE.EXE/ LOADSTATE.EXE (none)No module exists BCDBOOT.EXE(none)No module exists BCDEDIT.EXE(none)No module exists MANAGE- BDE.EXE BitLockerDon’t know yet… MSHTA.EXE.NET FrameworkDynamically execute XAML PnpUtil.exe (MDT)PnpDeviceLooks promising

Microsoft Deployment Toolkit: Components Key ComponentPrimary PurposeSuitability WorkbenchGather all the content needed.Good, PowerShell-based tools for maintaining content support lots of automation possibilities (although on top of an aging MMC UI). Task Sequence EngineOrchestrate the process, tracking the state from old OS to Windows PE to new OS, across reboots. Good, overall capabilities meet the needs (with some enhancements, e.g. nested sequences, an easy possibility). Challenging use of state outside of task sequence. Task Sequence Templates Specify the steps to be performed to complete an OS deployment. OK, legacy carried forward from SMS 2003 underpinnings, somewhat risky to make significant modifications. Task Sequence ScriptsDo the real work.VBScript with lots of Windows XP, SMS 2003, and other legacy “junk.”

Microsoft Deployment Toolkit: Theorems Some pieces aren’t worth replacing (at least not yet) Workbench, Task Sequence Engine Some organizations want a fully-supported solution Continue providing current, fully tested and supported task sequences and scripts Some organizations are willing to use community content Create new task sequence templates, scripts, and wizards that work with MDT, Workbench, and Task Sequence Engine Maintained and tested by open source volunteers

Intro: PowerShell Deployment for MDT Open source scripts, wizards, task sequence templates Available via Leverages Deployment Workbench, task sequence engine, and MDT PowerShell modules (task sequence variable, provider) Creates a new deployment share, completely separate from any other deployment shares Most definitely a work-in-progress Proof-of-concept starting point Enough to run simple task sequences, focusing on virtual machines (for now) Months of work still needed

Demo Setting up PSD for MDT

Simple process: 1.Download zip file from and extract the contents somewhere. 2.Launch an elevated command prompt (or PowerShell ISE) and open the Install.ps1 file from the extracted Installer folder 3.Make sure the path and share names are to your liking, edit if needed. 4.Run the script to create a new PowerShell-only deployment share (no VBScripts used, although they are still there). 5.Import an operating system (only Windows 10 will work right now). 6.Create a task sequence using the “PSD Client” template. 7.Populate CustomSettings.ini as desired. 8.Update the deployment share to create an ISO. 9.Boot the VM from the ISO, type in your task sequence ID in the wizard.

Demo Bare Metal Deployment

Lots still to do Scenarios Bare Metal Custom Task Sequence Refresh Replace Media OEM Prestage LTI ZTI UDI Features Gather Partition and Format Apply Image Configure (Unattend.xml) Capture User State Restore User State Enable BitLocker Inject Drivers Inject Patches Install Updates from WU/WSUS Branding Sysprep/Capture Suspend Static IP Wizard Orchestrator Runbook OS Roles Validate Operating Systems Windows 10 Windows 7 Windows 8.1 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Windows Server 2016 Windows Server 2016 Nano

So how does this work? Additional people can contribute 1.Set up a GitHub account. 2.Ask to become a collaborator. 3.Submit issues, make changes, etc. The theory: New features can be added faster Focus won’t be on migration/upgrade Just create a new deployment share and start over

Demo Using Visual Studio 2015

Ideas or Suggestions? Some potential items to consider: Integrating PowerShell DSC into a task sequence Support for OneGet, Chocolately, etc. now-on-chocolatey-org-ready-for-windows-10/ now-on-chocolatey-org-ready-for-windows-10/ Remove built-in apps Simplify start menu and task bar customization

Demo Chocolatey

Q&A

And Then …