3. idea. plan. deliver.
• Enrique Lima
• enrique@thinkalm.com
• Principal Consultant / Owner
• Microsoft v-TSP BPIO / CoreIO / APPIO
• Microsoft Certified Trainer – Regional Lead – East US
• Member of the Geekswithblogs.net Community - Influencer
▫ http://geekswithblogs.net/enriquelima
• @enriquelima - twitter.com/enriquelima
• Member of INETA
Who am I?
6. idea. plan. deliver.
• We deploy servers for test, development, proof of concept, etc.
• We need it quick
• Saving VMs as templates
• A lot, wait, again, a lot of manual work.
• Tedious and repeatable
Our reality
7. idea. plan. deliver.
Let’s talk about the reality
Answer: 1
Answer: Too long!
Answer: I lost count somewhere around 500
Answer: What on earth is post-setup integration?
Answer: Don’t worry, there may be some good news towards the end of this session!
16. idea. plan. deliver.
Before you start – XML Editing
• Get a good XML editor
▫ Notepad++
▫ Visual Studio
▫ PowerShell ISE
17. idea. plan. deliver.
• Spin drives vs. SSD
• Memory
• Windows 8.1 Update 1 vs. Windows Server 2012 vs. Windows Server
2012 R2
Hardware / Software
18. idea. plan. deliver.
• Get PDT
• Customize the settings on Variable.xml
• Run Downloader.ps1
• Create Parent VHDX files
• Run VMCreator.ps1
PDT – The Process
19. idea. plan. deliver.
Define your deployment – Variable.xml
User and company name
Installer service account and password
Source path
Optional – product keys
Usually just service account and password
Database roles must specify SQL instance name
Version
Admin group
20. idea. plan. deliver.
Download all the bits – Downloader.ps1
Prerequisites e.g. -
SQL Native Client, Report Viewer, WSUS
SQL Server 2012, SP1, and CU8
SQL Server 2008 R2 and SP2
SharePoint 2010 Foundation
Management Packs
Integration Packs
ADKSetup.exe download
Configuration Manager setupdl.exe download
Self-extracting exe
WebPI for Windows Azure Pack Web Sites
SQL Server 2008 R2 SP2
Windows Server 2012/Windows 8
WinRAR or 7-Zip
Web Platform Installer
Downloader.ps1 -DeploymentOnly
Windows Server 2012
System Center Components
New! Warning messages for items not downloaded
22. idea. plan. deliver.
Install each server OS – VMCreator.ps1
PDT can use existing servers, physical or virtual, any virtualization platform
Requirements - Windows Server, domain joined, WinRM enabled, administrator permissions
How many servers are in your deployment?
Hyper-V host, VM name, processor, memory, network adapter, OS disk, data disks, domain to join
Full example in default Variable.xml in PDT
e.g. Different Hyper-V hosts, VM name, memory, OS disk
Creates VM, joins domain, enables WinRM, add installer service account to administrators
23. idea. plan. deliver.
First VM created as domain controller for new Active Directory forest
Media copied to DC during virtual hard disk creation
All other VMs are created but wait for Active Directory setup to complete before starting
Once Active Directory setup is complete, DC waits for all other VMs to start and join domain
DC automatically runs Installer.ps1
Include minimum of 2 data disks with DC for Active Directory database and log files
VMCreator with Active Directory
24. idea. plan. deliver.
Everything else! - Installer.ps1
Manages validation, sequencing, dependencies
Manages reboots where required
Gracefully handles cascading failures
For each server, simultaneously:
Administrators
Windows Roles and Features
SQL Clusters – with dependencies between cluster nodes
SQL
Prerequisites
With cross server dependencies:
Roles
Integration and Configuration
25. idea. plan. deliver.
The “Knowledge” in PDT – Workflow.xml
All “knowledge” is in Workflow.xml
Workflow.xml defines everything we know about deploying System Center
Roles
Requirements – validation, Windows roles and features, prerequisites
Dependencies on other roles
Integrations between roles
Firewall
Installables
Downloads
Installs
Default settings – global, component, SQL
26. idea. plan. deliver.
Validation
Validates settings in Variable.xml for…
FQDN, dependencies, role combinations, role instance count,
required variables, SQL instances, media
Validates against Active Directory for…
Service accounts and passwords, other security principals - groups
Validates against target servers for…
Server exists, administrator access, clusters, WinRM, Task Scheduler,
credentials policy, operating system version, file access, certificates, minimum memory
27. idea. plan. deliver.
Extenders – work with all PDT scripts
Filename must match Extender*.xml, and be in same location as Workflow.xml
Extender*.xml merged in memory with Workflow.xml
Extender entries are added at end of existing sections
Installer.ps1 -SkipValidation RolesCombination
Veeam Management Pack for VMware
GridPro Request Management for WAP
Operations Manager MPs
28. idea. plan. deliver.
Custom setup and post installer
VMCreator.ps1 –Setup <path>
Requires a folder with the name of the VM in <path>
Requires a PowerShell script with the name of the VM in that folder
Script will be run against that VM using autologon during initial VM startup
VMCreator.ps1 with AD – DC waits for custom setup to complete before running Installer.ps1
PostInstaller.ps1 in same location as Installer.ps1
Automatically run after successful completion of Installer.ps1
Must use remoting for configuration of any systems other than the one running Installer.ps1
29. idea. plan. deliver.
-MaxStage
1Admin – Adds service accounts to local administrator groups
2ServerFeatures – Installs Windows Roles and Features
3SQLClusters – Installs SQL clustered instances
4SQL – Installs SQL standalone instances
5Prereqs – Installs prerequisites
6Roles – Installs roles
7Integration – Completes integration and configuration
30. idea. plan. deliver.
GUIs!!!
Developed by Microsoft service provider team
Available to service provider partners only
Delivered as a USB stick with all media
Limited to specific deployment scenarios relevant to service provider team
Developed by a partner, Elanity Network Partner
UI for creation and editing of Variable.xml
31. idea. plan. deliver.
PowerShell Deployment Toolkit
http://aka.ms/DownloadPDT
http://aka.ms/GetToKnowPDT
http://aka.ms/PDTVideo
Configuration Manager software distribution
Virtual Machine Manager virtual machine creation
Virtual Machine Manager service deployment and servicing