Coming Soon: GET:IT Endpoint Management 1-Day Conference on September 28th at 9:30 AM ET Coming Soon: GET:IT Endpoint Management 1-Day Conference on September 28th at 9:30 AM ET
System Center

Deploying System Center Using the PowerShell Deployment Toolkit

What’s in a name? With the name “PowerShell Deployment Toolkit,” (PDT) one would be forgiven for assuming that this utility is some silly script created to assist those of us who are still living with some aging versions of Windows Client OS in our environment and and who need to get PowerShell deployed to these nodes.

PowerShell Deployment Toolkit (PDT) and System Center 2012 SP1/R2

Don’t get the wrong impression. The PowerShell Deployment Toolkit is a work of art and a mandatory utility for anyone who has the slightest requirement for getting an environment installed for System Center 2012 SP1 or R2. Locked behind this unassuming name is a super powerful set of three PowerShell scripts and two XML files that will forever change how you will prepare your lab, proof of concept – or, for the very accomplished – potentially your production installations.

At the time of this writing, PDT is floating at version 2.5.2708 and fully supports the deployment of both System Center 2012 SP1 and R2. It also will cater for building out an Active Directory Domain if you prefer to lab your installations – and of course you will require a SQL Server, which the toolkit is more than willing to also accommodate for you.

Getting the Bits

The first step in getting going with PDT is to take a quick trip to the Technet Gallery, where you will find the latest and greatest versions of the PowerShell Deployment Toolkit. Download this archive, mark it as unblocked, and extract the content.

Sponsored Content

Say Goodbye to Traditional PC Lifecycle Management

Traditional IT tools, including Microsoft SCCM, Ghost Solution Suite, and KACE, often require considerable custom configurations by T3 technicians (an expensive and often elusive IT resource) to enable management of a hybrid onsite + remote workforce. In many cases, even with the best resources, organizations are finding that these on-premise tools simply cannot support remote endpoints consistently and reliably due to infrastructure limitations.

You are going to need a working folder, which you will also share out once everything is prepared. This working folder will be home to the PDT files and also to all the media we need for deploying a System Center Installation. As you begin your folder will look similar to my sample (shown below).

PowerShell Deployment Toolkit installation

Now, before we get too excited, the first thing i like to do is edit the Variable.xml file and change the value for the Download setting to point to my working folder (this is also a good reason for sharing the folder), which in my case will look as follows.

PowerShell Deployment Toolkit installation

I am configuring the tool to download on the fly to $SystemDrive\Temp, and then place the files in S:\Workspace\PDT\Installer as the final destination. to define these I am using the following parameters

​ <Variable Name="TempPath" Value="$SystemDrive\Temp" />
<Variable Name="Download" Value="S:\Workspace\PDT\Installer" />

I have a third working parameter set called Source Path. This is is the UNC, or mount point, connected to the initial share I created for the PDT folder. It is utilized when I choose to execute the PDT Installer from a VM, which is a member of the target environment I am deploying. For example, my environment’s domain controller.

Downloading the Components

Our next task is to grab all the different components which will be required for installing our Windows Server System Center environment. PDT will assist us for the vast majority of these, reaching out to Microsoft and downloading all the necessary components. However, there are a few that PDT will not be automatically downloading, so we must take care of these by hand.

To determine which components PDT will not download, we can upload the workflow.xml file into a variable. As this is pure XML, we can easily create a simple query that will identify the components we must download. The following sample will complete this procedure for us.

​ $Workflow = [XML] (Get-Content ".\Workflow.xml")
$Workflow.Installer.Installables.Installable | foreach {If (! $_.Download.URL) { Write-Host $_.Name }}

The results of this query will be similar to the following.

PowerShell Deployment Toolkit download variable

Ignoring both Integrations and Prerequisites from this list, we can quickly determine that both Windows Server 2012 and Windows Server 2012 R2, along with the components of System Center 2012 R2, will need to be manually downloaded. These can be located on the Microsoft servers and placed in their respective folders in the PDT Installer tree. You can use the following as a reference.

​ \\MYServer\S$\WORKSPACE\PDT
├───Installer
│   ├───Download
│   │   ├───Prerequisites
│   │   │   └───ADK81
│   │   ├───SharePoint2010Module
│   │   ├───SharePoint2010SP2Foundation
│   │   ├───SQLServer2008R2
│   │   ├───SQLServer2012.en
│   │   │   └───SQLFULL_x64_ENU
│   │   ├───SystemCenter2012R2
│   │   │   ├───AppController
│   │   │   │    └SW_DVD5_Sys_Ctr_2012_R2_MultiLang_AppCont_MLF_X19-18210.ISO.ISO
│   │   │   ├───ConfigurationManager
│   │   │   │    └SW_DVD5_Sys_Ctr_2012_R2_MultiLang_ConfMgr_ML_MLF_X19-18215.ISO
│   │   │   ├───DataProtectionManager
│   │   │   │    └SW_DVD5_Sys_Ctr_Datacenter_2012_R2_MultiLang_DPM_MLF_X19-22687.ISO
│   │   │   ├───OperationsManager
│   │   │   │    └SW_DVD5_Sys_Ctr_2012_R2_English_OpsMgr_MLF_X19-18307.ISO
│   │   │   ├───Orchestrator
│   │   │   │    └SW_DVD5_Sys_Ctr_2012_R2_MultiLang_Orch_MLF_X19-18211.ISO
│   │   │   ├───ServiceManager
│   │   │   │    └SW_DVD5_Sys_Ctr_2012_R2_MultiLang_SvcMgr_MLF_X19-18213.ISO
│   │   │   └───VirtualMachineManager
│   │   │             └SW_DVD5_Sys_Ctr_2012_R2_MultiLang_VMM_MLF_X19-18212.ISO
│   │   ├───SystemCenter2012SP1
│   │   │   ├───AppController
│   │   │   ├───ConfigurationManager
│   │   │   ├───DataProtectionManager
│   │   │   ├───IntegrationPacks
│   │   │   ├───OperationsManager.en
│   │   │   ├───Orchestrator
│   │   │   ├───ServiceManager
│   │   │   └───VirtualMachineManager
│   │   ├───WindowsServer2012
│   │   │    └9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.ISO
│   │   └───WindowsServer2012R2
│   │        └9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVER_EVAL_EN-US-IRM_SSS_X64FREE_EN-US_DV5.ISO
│   ├───Prerequisites
│   ├───Sharepoint2012Module

After you have placed each of the resources in the respective location, you can proceed to use the PDT utility called Downloader.ps1 to grab all the other components, after which it will then process and extract both the components it downloaded as well as the items you manually placed so that they are prepared for installation.

Getting Started

Once you have completed this, you are pretty much ready to get started. In our next post we will take a closer look at the variables.XML file, and walk through the procedure of editing this file to automatically deploy your first System Center component.

Related Topics:

BECOME A PETRI MEMBER:

Don't have a login but want to join the conversation? Sign up for a Petri Account

Register
Comments (10)

10 responses to “Deploying System Center Using the PowerShell Deployment Toolkit”

  1. This happens when I run Install,ps1 and I have the source files already

    Validating (Local)…

    Validating media…

    Filter Pack 2.0… Failed

    C:TempPrerequisitesFilterPack20FilterPack64bit.exe missing

    Microsoft Chart Controls… Failed

    C:TempPrerequisitesChartMSChart.exe missing

    Report Viewer 2008 SP1 Redistributable… Failed

    C:TempPrerequisitesRV2008ReportViewer.exe missing

    Report Viewer 2012 Redistributable… Failed

    C:TempPrerequisitesRV2012ReportViewer.msi missing

    Server Speech Platform Runtime… Failed

    C:TempPrerequisitesSpeechSpeechPlatformRuntime.msi missing

    Server Speech Recognition Language en-US… Failed

    C:TempPrerequisitesSpeechMSSpeech_SR_en-US_TELE.msi missing

    SharePoint 2010 Foundation… Failed

    C:TempSharePoint2010SP2Foundationsetup.exe missing

    SharePoint 2010 Module… Failed

    C:TempSharePoint2010ModuleSPModuleSPModule.setupInstall-SharePoint.ps1 missing

    Silverlight… Failed

    C:TempPrerequisitesSilverlightSilverlight_x64.exe missing

    SQL Server 2008 Analysis Services ADOMD.NET… Failed

    C:TempPrerequisitesSQL2008ADOMDSQLSERVER2008_ASADOMD10.msi missing

    SQL Server 2008 Native Client… Failed

    C:TempPrerequisitesSQL2008NCsqlncli.msi missing

    SQL Server 2008 R2 SP2 SSRS… Failed

    C:TempPrerequisitesSQL2008R2RSSPrsSharePoint.msi missing

    SQL Server 2012… Failed

    C:TempSQLServer2012.ensetup.exe missing

    SQL Server 2012 Analysis Management Objects… Failed

    C:TempPrerequisitesSQL2012AMOSQL_AS_AMO.msi missing

    SQL Server 2012 Command Line Utilities… Failed

    C:TempPrerequisitesSQL2012CLUSqlCmdLnUtils.msi missing

    SQL Server 2012 Native Client… Failed

    C:TempPrerequisitesSQL2012NCsqlncli.msi missing

    SQL Server 2012 SP1… Failed

    C:TempSQLServer2012.enUpdatesSQLServer2012SP1-KB2674319-x64-ENU.exe missing

    SQL Server 2012 SP1 CU8… Failed

    C:TempSQLServer2012.enUpdatesSQLServer2012-KB2917531-x64.exe missing

    SQL Server 2012 System CLR Types… Failed

    C:TempPrerequisitesSQL2012CLRSQLSysClrTypes.msi missing

    Sync Framework Runtime 1.0… Failed

    C:TempPrerequisitesWSFSynchronization.msi missing

    System Center 2012 R2 App Controller… Failed

    C:TempSystemCenter2012R2AppControllersetup.exe missing

    System Center 2012 R2 Configuration Manager… Failed

    C:TempSystemCenter2012R2ConfigurationManagerSMSSETUPBINX64setup.exe missing

    System Center 2012 R2 Configuration Manager Prerequisites… Failed

    C:TempSystemCenter2012R2ConfigurationManager.DLConfigMgr.Manifest.cab missing

    System Center 2012 R2 Data Protection Manager… Failed

    C:TempSystemCenter2012R2DataProtectionManagerSCDPMSetup.exe missing

    System Center 2012 R2 Management Packs… Failed

    C:TempSystemCenter2012R2ManagementPacksMicrosoft.Windows.Server.Library.mp missing

    System Center 2012 R2 Operations Manager… Failed

    C:TempSystemCenter2012R2OperationsManager.ensetup.exe missing

    System Center 2012 R2 Orchestrator… Failed

    C:TempSystemCenter2012R2OrchestratorSetupOrchestrator.exe missing

    System Center 2012 R2 Service Manager… Failed

    C:TempSystemCenter2012R2ServiceManagersetup.exe missing

    System Center 2012 R2 Virtual Machine Manager… Failed

    C:TempSystemCenter2012R2VirtualMachineManagersetup.exe missing

    Visual C++ 2010 Redistributable… Failed

    C:TempPrerequisitesVC2010vcredist_x64.exe missing

    WCF Data Services 5.0… Failed

    C:TempPrerequisitesWCF50WcfDataServices.exe missing

    Windows Automated Deployment Kit 8.1… Failed

    C:TempPrerequisitesADK81adksetup.exe missing

    Windows Identity Foundation 3.5… Failed

    C:TempPrerequisitesWIF35Windows6.1-KB974405-x64.msu missing

    Windows Server 2012… Failed

    C:TempWindowsServer2012setup.exe missing

    Windows Server 2012 R2… Failed

    C:TempWindowsServer2012R2setup.exe missing

    Validation failed

    PS F:PDT2.64.2608>

Leave a Reply

Live Webinar: Active Directory Security: What Needs Immediate Priority!Live on Tuesday, October 12th at 1 PM ET

Attacks on Active Directory are at an all-time high. Companies that are not taking heed are being punished, both monetarily and with loss of production.

In this webinar, you will learn:

  • How to prioritize vulnerability management
  • What attackers are leveraging to breach organizations
  • Where Active Directory security needs immediate attention
  • Overall strategy to secure your environment and keep it secured

Sponsored by: