Pages

mandag 30. desember 2013

PowerShell: Things to check if computer keeps waking up

You may find that your Windows 8 computer wakes up by itself when in sleep mode. One reason could be a scheduled task. You can use PowerShell to list such tasks:
Get-ScheduledTask | ? {$_.Settings.WakeToRun -eq $true -and $_.State -ne "Disabled"}

And you can turn this off by running:
Get-ScheduledTask | ? {$_.Settings.WakeToRun -eq $true -and $_.State -ne "Disabled"} | % {$_.Settings.WakeToRun = $false; Set-ScheduledTask $_}

Another reason why your computer may wake by itself is connected devices. You can list those devices like this:
powercfg /devicequery wake_armed

And you can query if you computer was waked by a device by running:
powercfg /lastwake

To disable the wake option on a device you can run the command:
powercfg /devicedisablewake <devicename>

To do this on all devices you can combine the commands with PowerShell:
$DevList = (powercfg /devicequery wake_armed); if ($DevList -ne 'NONE'){foreach ($Dev in $DevList){If ($Dev -ne ''){(powercfg /devicedisablewake $Dev)}}}

mandag 11. november 2013

PowerShell: Finding Information in XML Files

I wanted to take a look at various information defined in the PowerShell Deployment Toolkit. This is a toolkit that can be used to install Microsoft System Center components in various combinations, without user interaction.

To find information in XML files with PowerShell, I like to do like this:
$xml = New-Object -TypeName XML
$xml.Load("D:\PDT2.5.2708\Workflow.xml")

#List all the general variables
$xml.Installer.Variable
or
foreach ($Var in $xml.Installer.Variable){Write-Host "$($Var.Name)=$($Var.Value)"}

#List all the components we can install:
$xml.Installer.Components.Component | select Name | sort Name

#List all the components including the variables we can set:
$xml.Installer.Components.Component | select Name,Variable | sort Name | foreach{Write-Host $_.Name -ForegroundColor Cyan;If($_.PSObject.Properties.Match('Variable').Count){foreach($Var in $_.Variable){Write-Host " - $($Var.Name)=$($Var.Value)"}}}

#List all the roles we can install, but exclude integration roles:
$xml.Installer.Roles.Role | where {$_.Type -ne 'Integration'} | select Name | sort Name | ft -AutoSize

#List all the SQL versions and the variables we can set:
$xml.Installer.SQL.SQL | select Version,Variable | sort Version | foreach{Write-Host $_.Version
-ForegroundColor Cyan;foreach($Var in $_.Variable){Write-Host " - $($Var.Name)=$($Var.Value)"}}

#List roles that can be combined with VMM 2012 R2 Server:
$xml.Installer.Roles.Role | where {$_.Name -eq 'System Center 2012 R2 Virtual Machine Manager Management Server'} | foreach {$_.Validation.Combinations.Combination}

#Get a list of all the Installables and the URL, write in red if no URL exist
$xml.Installer.Installables.Installable | foreach {If ($_.Download.URL) {Write-Host $_.Name -ForegroundColor Cyan} Else {Write-Host $_.Name -ForegroundColor Red}; foreach ($Link in $_.Download.URL){Write-Host "  " $Link}}

#Get a list of all the Installables that do not have download URL
$xml.Installer.Installables.Installable | foreach {If (! $_.Download.URL) {Write-Host $_.Name -ForegroundColor Red}}

After running the commands I get information that I can use to construct my Variables.xml file, this is the file that I can use to define my System Center deployment:

General variables
SystemCenter2012ProductKey=
SQLServer2012ProductKey=
SQLServer2008R2ProductKey=
InstallerServiceAccount=
InstallerServiceAccountPassword=
SourcePath=
TempPath=$SystemDrive\Temp
Download=$SystemDrive\Temp
RegisteredUser=
RegisteredOrganization=
MicrosoftUpdate=0
CustomerExperienceImprovementProgram=0
ErrorReporting=Never
OperationalDataReporting=0

Components
SQL Server 2008 R2
SQL Server 2012
System Center 2012 R2 App Controller
System Center 2012 R2 Configuration Manager
System Center 2012 R2 Data Protection Manager
System Center 2012 R2 Operations Manager
System Center 2012 R2 Orchestrator
System Center 2012 R2 Service Management Automation
System Center 2012 R2 Service Manager
System Center 2012 R2 Service Provider Foundation
System Center 2012 R2 Service Reporting
System Center 2012 R2 Virtual Machine Manager
System Center 2012 SP1 App Controller
System Center 2012 SP1 Configuration Manager
System Center 2012 SP1 Data Protection Manager
System Center 2012 SP1 Operations Manager
System Center 2012 SP1 Orchestrator
System Center 2012 SP1 Service Manager
System Center 2012 SP1 Service Provider Foundation
System Center 2012 SP1 Virtual Machine Manager
Windows Azure Pack 2013
Windows Azure Services 2012

Components with variables
SQL Server 2008 R2
SQL Server 2012
System Center 2012 R2 App Controller
 - SystemCenter2012R2AppControllerAdminGroup=
 - SystemCenter2012R2AppControllerPort=443
 - SystemCenter2012R2AppControllerDatabase=AppController
 - SystemCenter2012R2AppControllerInstallPath=$SystemDrive\Program Files\Microsoft System Center 2012 R2\App Controller
 - SystemCenter2012R2AppControllerServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2AppControllerServiceAccountPassword=$InstallerServiceAccountPassword
System Center 2012 R2 Configuration Manager
 - SystemCenter2012R2ConfigurationManagerAdminGroup=
 - SystemCenter2012R2ConfigurationManagerInstallDir=$SystemDrive\Program Files\Microsoft System Center 2012 R2\Configuration Manager
 - SystemCenter2012R2ConfigurationManagerConsoleTargetDir=$SystemDrive\Program Files (x86)\Microsoft Configuration Manager\AdminConsole
 - SystemCenter2012R2ConfigurationManagerDatabase=
 - SystemCenter2012R2ConfigurationManagerSiteCode=
 - SystemCenter2012R2ConfigurationManagerSite=
System Center 2012 R2 Data Protection Manager
 - SystemCenter2012R2DataProtectionManagerAdminGroup=
 - SystemCenter2012R2DataProtectionManagerProgramFiles=$SystemDrive\Program Files\Microsoft System Center 2012 R2\DPM
 - SystemCenter2012R2DataProtectionManagerSQLPassword=$InstallerServiceAccountPassword
System Center 2012 R2 Operations Manager
 - SystemCenter2012R2OperationsManagerAdminGroup=
 - SystemCenter2012R2OperationsManagerManagementGroupName=
 - SystemCenter2012R2OperationsManagerInstallPath=$SystemDrive\Program Files\Microsoft System Center 2012 R2\OperationsManager
 - SystemCenter2012R2OperationsManagerDatabaseName=OperationsManager
 - SystemCenter2012R2OperationsManagerDatabaseSize=1000
 - SystemCenter2012R2OperationsManagerDWDatabaseName=OperationsManagerDW
 - SystemCenter2012R2OperationsManagerDWDatabaseSize=1000
 - SystemCenter2012R2OperationsManagerActionServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2OperationsManagerActionServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2OperationsManagerDASServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2OperationsManagerDASServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2OperationsManagerDataReaderServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2OperationsManagerDataReaderServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2OperationsManagerDataWriterServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2OperationsManagerDataWriterServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2OperationsManagerWebConsoleAuthorizationMode=Mixed
System Center 2012 R2 Orchestrator
 - SystemCenter2012R2OrchestratorAdminGroup=
 - SystemCenter2012R2OrchestratorDatabase=Orchestrator
 - SystemCenter2012R2OrchestratorRemote=True
 - SystemCenter2012R2OrchestratorInstallDir=$SystemDrive\Program Files (x86)\Microsoft System Center 2012 R2\Orchestrator
 - SystemCenter2012R2OrchestratorWebURL=
 - SystemCenter2012R2OrchestratorWebServicePort=81
 - SystemCenter2012R2OrchestratorWebConsolePort=82
 - SystemCenter2012R2OrchestratorServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2OrchestratorServiceAccountPassword=$InstallerServiceAccountPassword
System Center 2012 R2 Service Management Automation
 - SystemCenter2012R2ServiceManagementAutomationAdminGroup=
 - SystemCenter2012R2ServiceManagementAutomationInstallFolder=$SystemDrive\Program Files\Microsoft System Center 2012 R2\Service Management Automation
 - SystemCenter2012R2ServiceManagementAutomationWebSitePortNumber=9090
 - SystemCenter2012R2ServiceManagementAutomationDatabase=SMA
 - SystemCenter2012R2ServiceManagementAutomationServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceManagementAutomationServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceManagementAutomationNetworkServiceSelected=false
 - SystemCenter2012R2ServiceManagementAutomationAdminGroup=
System Center 2012 R2 Service Manager
 - SystemCenter2012R2ServiceManagerAdminRoleGroup=$InstallerServiceAccount
 - SystemCenter2012R2ServiceManagerInstallPath=$SystemDrive\Program Files\Microsoft System Center 2012 R2\Service Manager
 - SystemCenter2012R2ServiceManagerDatabase=ServiceManager
 - SystemCenter2012R2ServiceManagerDatabaseSize=2000
 - SystemCenter2012R2ServiceManagerDWStagingAndConfig=DWStagingAndConfig
 - SystemCenter2012R2ServiceManagerDWStagingAndConfigSize=2000
 - SystemCenter2012R2ServiceManagerDWRepository=DWRepository
 - SystemCenter2012R2ServiceManagerDWRepositorySize=2000
 - SystemCenter2012R2ServiceManagerDWDataMart=DWDataMart
 - SystemCenter2012R2ServiceManagerDWDataMartSize=2000
 - SystemCenter2012R2ServiceManagerOMDWDataMart=OMDWDataMart
 - SystemCenter2012R2ServiceManagerOMDWDataMartSize=2000
 - SystemCenter2012R2ServiceManagerCMDWDataMart=CMDWDataMart
 - SystemCenter2012R2ServiceManagerCMDWDataMartSize=2000
 - SystemCenter2012R2ServiceManagerDWASDataBase=DWASDataBase
 - SystemCenter2012R2ServiceManagerServicesServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceManagerServicesServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceManagerWorkflowServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceManagerWorkflowServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceManagerReportingServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceManagerReportingServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceManagerAnalysisServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceManagerAnalysisServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceManagerPortalServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceManagerPortalServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceManagerManagementGroupName=
 - SystemCenter2012R2ServiceManagerDatawarehouseManagementGroupName=
 - SystemCenter2012R2ServiceManagerPortalWebSiteName=SCSMWebContentServer
 - SystemCenter2012R2ServiceManagerPortalWebSiteCertificate=False
 - SystemCenter2012R2ServiceManagerPortalWebSitePortHTTP=81
 - SystemCenter2012R2ServiceManagerPortalWebSitePortHTTPS=443
 - SystemCenter2012R2ServiceManagerSpPortalWebSiteName=Service Manager Portal
 - SystemCenter2012R2ServiceManagerSpPortalWebSiteCertificate=False
 - SystemCenter2012R2ServiceManagerSpPortalWebSitePortHTTP=81
 - SystemCenter2012R2ServiceManagerSpPortalWebSitePortHTTPS=443
 - SystemCenter2012R2ServiceManagerSpPortalDatabaseName=Sharepoint_SMPortalContent
 - SystemCenter2012R2ServiceManagerPortalUsers=
System Center 2012 R2 Service Provider Foundation
 - SystemCenter2012R2ServiceProviderFoundationDatabaseName=SCSPFDB
 - SystemCenter2012R2ServiceProviderFoundationWebSitePortNumber=8090
 - SystemCenter2012R2ServiceProviderFoundationSCVMMServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceProviderFoundationSCVMMServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceProviderFoundationSCVMMNetworkServiceSelected=false
 - SystemCenter2012R2ServiceProviderFoundationVMMSecurityGroupUsers=
 - SystemCenter2012R2ServiceProviderFoundationSCAdminServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceProviderFoundationSCAdminServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceProviderFoundationSCAdminNetworkServiceSelected=false
 - SystemCenter2012R2ServiceProviderFoundationAdminSecurityGroupUsers=
 - SystemCenter2012R2ServiceProviderFoundationSCProviderServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceProviderFoundationSCProviderServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceProviderFoundationSCProviderNetworkServiceSelected=false
 - SystemCenter2012R2ServiceProviderFoundationProviderSecurityGroupUsers=
 - SystemCenter2012R2ServiceProviderFoundationSCUsageServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2ServiceProviderFoundationSCUsageServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2ServiceProviderFoundationSCUsageNetworkServiceSelected=false
 - SystemCenter2012R2ServiceProviderFoundationUsageSecurityGroupUsers=
System Center 2012 R2 Service Reporting
 - SystemCenter2012R2ServiceReportingRunAsAccount=$SystemCenter2012R2ServiceReportingDatawarehouseSQLServiceAccount
 - SystemCenter2012R2ServiceReportingInstallFolder=$SystemDrive\Program Files\Microsoft System Center 2012 R2\Service Reporting
 - SystemCenter2012R2ServiceReportingRepositoryDatabaseName=UsageETLRepositoryDB
 - SystemCenter2012R2ServiceReportingStagingDatabaseName=UsageStagingDB
 - SystemCenter2012R2ServiceReportingDWDatabaseName=UsageDatawarehouseDB
 - SystemCenter2012R2ServiceReportingAnalysisDatabaseName=UsageAnalysisDB
System Center 2012 R2 Virtual Machine Manager
 - SystemCenter2012R2VirtualMachineManagerAdminGroup=
 - SystemCenter2012R2VirtualMachineManagerProgramFiles=$SystemDrive\Program Files\Microsoft System Center 2012 R2\Virtual Machine Manager
 - SystemCenter2012R2VirtualMachineManagerDatabase=VirtualManagerDB
 - SystemCenter2012R2VirtualMachineManagerIndigoTcpPort=8100
 - SystemCenter2012R2VirtualMachineManagerWSManTcpPort=5985
 - SystemCenter2012R2VirtualMachineManagerBitsTcpPort=443
 - SystemCenter2012R2VirtualMachineManagerIndigoNETTCPPort=8102
 - SystemCenter2012R2VirtualMachineManagerIndigoHTTPSPort=8101
 - SystemCenter2012R2VirtualMachineManagerIndigoHTTPPort=8103
 - SystemCenter2012R2VirtualMachineManagerLibraryPath=$SystemDrive\ProgramData\Virtual Machine Manager Library Files
 - SystemCenter2012R2VirtualMachineManagerServiceAccount=$InstallerServiceAccount
 - SystemCenter2012R2VirtualMachineManagerServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012R2VirtualMachineManagerVmmServerName=
 - SystemCenter2012R2VirtualMachineManagerTopContainerName=
 - SystemCenter2012R2VirtualMachineManagerVMMStaticIPAddress=
System Center 2012 SP1 App Controller
 - SystemCenter2012SP1AppControllerAdminGroup=
 - SystemCenter2012SP1AppControllerPort=443
 - SystemCenter2012SP1AppControllerDatabase=AppController
 - SystemCenter2012SP1AppControllerInstallPath=$SystemDrive\Program Files\Microsoft System Center 2012\App Controller
 - SystemCenter2012SP1AppControllerServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1AppControllerServiceAccountPassword=$InstallerServiceAccountPassword
System Center 2012 SP1 Configuration Manager
 - SystemCenter2012SP1ConfigurationManagerAdminGroup=
 - SystemCenter2012SP1ConfigurationManagerInstallDir=$SystemDrive\Program Files\Microsoft System Center 2012\Configuration Manager
 - SystemCenter2012SP1ConfigurationManagerConsoleTargetDir=$SystemDrive\Program Files (x86)\Microsoft Configuration Manager\AdminConsole
 - SystemCenter2012SP1ConfigurationManagerDatabase=
 - SystemCenter2012SP1ConfigurationManagerSiteCode=
 - SystemCenter2012SP1ConfigurationManagerSite=
System Center 2012 SP1 Data Protection Manager
 - SystemCenter2012SP1DataProtectionManagerAdminGroup=
 - SystemCenter2012SP1DataProtectionManagerProgramFiles=$SystemDrive\Program Files\Microsoft System Center 2012\DPM
 - SystemCenter2012SP1DataProtectionManagerSQLPassword=$InstallerServiceAccountPassword
System Center 2012 SP1 Operations Manager
 - SystemCenter2012SP1OperationsManagerAdminGroup=
 - SystemCenter2012SP1OperationsManagerManagementGroupName=
 - SystemCenter2012SP1OperationsManagerInstallPath=$SystemDrive\Program Files\Microsoft System Center 2012\Operations Manager
 - SystemCenter2012SP1OperationsManagerDatabaseName=OperationsManager
 - SystemCenter2012SP1OperationsManagerDatabaseSize=1000
 - SystemCenter2012SP1OperationsManagerDWDatabaseName=OperationsManagerDW
 - SystemCenter2012SP1OperationsManagerDWDatabaseSize=1000
 - SystemCenter2012SP1OperationsManagerActionServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1OperationsManagerActionServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1OperationsManagerDASServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1OperationsManagerDASServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1OperationsManagerDataReaderServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1OperationsManagerDataReaderServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1OperationsManagerDataWriterServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1OperationsManagerDataWriterServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1OperationsManagerWebConsoleAuthorizationMode=Mixed
System Center 2012 SP1 Orchestrator
 - SystemCenter2012SP1OrchestratorAdminGroup=
 - SystemCenter2012SP1OrchestratorDatabase=Orchestrator
 - SystemCenter2012SP1OrchestratorRemote=True
 - SystemCenter2012SP1OrchestratorInstallDir=$SystemDrive\Program Files (x86)\Microsoft System Center 2012\Orchestrator
 - SystemCenter2012SP1OrchestratorWebURL=
 - SystemCenter2012SP1OrchestratorWebServicePort=81
 - SystemCenter2012SP1OrchestratorWebConsolePort=82
 - SystemCenter2012SP1OrchestratorServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1OrchestratorServiceAccountPassword=$InstallerServiceAccountPassword
System Center 2012 SP1 Service Manager
 - SystemCenter2012SP1ServiceManagerAdminRoleGroup=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceManagerInstallPath=$SystemDrive\Program Files\Microsoft System Center 2012\Service Manager
 - SystemCenter2012SP1ServiceManagerDatabase=ServiceManager
 - SystemCenter2012SP1ServiceManagerDatabaseSize=2000
 - SystemCenter2012SP1ServiceManagerDWStagingAndConfig=DWStagingAndConfig
 - SystemCenter2012SP1ServiceManagerDWStagingAndConfigSize=2000
 - SystemCenter2012SP1ServiceManagerDWRepository=DWRepository
 - SystemCenter2012SP1ServiceManagerDWRepositorySize=2000
 - SystemCenter2012SP1ServiceManagerDWDataMart=DWDataMart
 - SystemCenter2012SP1ServiceManagerDWDataMartSize=2000
 - SystemCenter2012SP1ServiceManagerOMDWDataMart=OMDWDataMart
 - SystemCenter2012SP1ServiceManagerOMDWDataMartSize=2000
 - SystemCenter2012SP1ServiceManagerCMDWDataMart=CMDWDataMart
 - SystemCenter2012SP1ServiceManagerCMDWDataMartSize=2000
 - SystemCenter2012SP1ServiceManagerDWASDataBase=DWASDataBase
 - SystemCenter2012SP1ServiceManagerServicesServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceManagerServicesServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceManagerWorkflowServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceManagerWorkflowServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceManagerReportingServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceManagerReportingServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceManagerAnalysisServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceManagerAnalysisServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceManagerPortalServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceManagerPortalServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceManagerManagementGroupName=
 - SystemCenter2012SP1ServiceManagerDatawarehouseManagementGroupName=
 - SystemCenter2012SP1ServiceManagerPortalWebSiteName=SCSMWebContentServer
 - SystemCenter2012SP1ServiceManagerPortalWebSiteCertificate=False
 - SystemCenter2012SP1ServiceManagerPortalWebSitePortHTTP=81
 - SystemCenter2012SP1ServiceManagerPortalWebSitePortHTTPS=443
 - SystemCenter2012SP1ServiceManagerSpPortalWebSiteName=Service Manager Portal
 - SystemCenter2012SP1ServiceManagerSpPortalWebSiteCertificate=False
 - SystemCenter2012SP1ServiceManagerSpPortalWebSitePortHTTP=81
 - SystemCenter2012SP1ServiceManagerSpPortalWebSitePortHTTPS=443
 - SystemCenter2012SP1ServiceManagerSpPortalDatabaseName=Sharepoint_SMPortalContent
 - SystemCenter2012SP1ServiceManagerPortalUsers=
System Center 2012 SP1 Service Provider Foundation
 - SystemCenter2012SP1ServiceProviderFoundationInstallFolder=$SystemDrive\inetpub
 - SystemCenter2012SP1ServiceProviderFoundationWebSitePortNumber=8090
 - SystemCenter2012SP1ServiceProviderFoundationSCVMMServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceProviderFoundationSCVMMServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceProviderFoundationSCVMMNetworkServiceSelected=false
 - SystemCenter2012SP1ServiceProviderFoundationVMMSecurityGroupUsers=
 - SystemCenter2012SP1ServiceProviderFoundationSCAdminServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceProviderFoundationSCAdminServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceProviderFoundationSCAdminNetworkServiceSelected=false
 - SystemCenter2012SP1ServiceProviderFoundationAdminSecurityGroupUsers=
 - SystemCenter2012SP1ServiceProviderFoundationSCProviderServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1ServiceProviderFoundationSCProviderServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1ServiceProviderFoundationSCProviderNetworkServiceSelected=false
 - SystemCenter2012SP1ServiceProviderFoundationProviderSecurityGroupUsers=
System Center 2012 SP1 Virtual Machine Manager
 - SystemCenter2012SP1VirtualMachineManagerAdminGroup=
 - SystemCenter2012SP1VirtualMachineManagerProgramFiles=$SystemDrive\Program Files\Microsoft System Center 2012\VirtualMachine Manager
 - SystemCenter2012SP1VirtualMachineManagerDatabase=VirtualManagerDB
 - SystemCenter2012SP1VirtualMachineManagerIndigoTcpPort=8100
 - SystemCenter2012SP1VirtualMachineManagerWSManTcpPort=5985
 - SystemCenter2012SP1VirtualMachineManagerBitsTcpPort=443
 - SystemCenter2012SP1VirtualMachineManagerIndigoNETTCPPort=8102
 - SystemCenter2012SP1VirtualMachineManagerIndigoHTTPSPort=8101
 - SystemCenter2012SP1VirtualMachineManagerIndigoHTTPPort=8103
 - SystemCenter2012SP1VirtualMachineManagerLibraryPath=$SystemDrive\ProgramData\Virtual Machine Manager Library Files
 - SystemCenter2012SP1VirtualMachineManagerServiceAccount=$InstallerServiceAccount
 - SystemCenter2012SP1VirtualMachineManagerServiceAccountPassword=$InstallerServiceAccountPassword
 - SystemCenter2012SP1VirtualMachineManagerVmmServerName=
 - SystemCenter2012SP1VirtualMachineManagerTopContainerName=
 - SystemCenter2012SP1VirtualMachineManagerVMMStaticIPAddress=
Windows Azure Pack 2013
 - WindowsAzurePack2013AdminGroup=
 - WindowsAzurePack2013ConfigStorePassphrase=$InstallerServiceAccountPassword
Windows Azure Services 2012
 - WindowsAzureServices2012AdminGroup=
 - WindowsAzureServices2012ConfigStorePassphrase=$InstallerServiceAccountPassword

Roles
SQL Server 2012 Analysis Server
SQL Server 2012 Database Server
SQL Server 2012 Fulltext
SQL Server 2012 Management Tools
SQL Server 2012 Reporting Server
System Center 2012 R2 App Controller Additional Server
System Center 2012 R2 App Controller Console
System Center 2012 R2 App Controller Database Server
System Center 2012 R2 App Controller Server
System Center 2012 R2 Configuration Manager Console
System Center 2012 R2 Configuration Manager Database Server
System Center 2012 R2 Configuration Manager Provider Server
System Center 2012 R2 Configuration Manager Site Server
System Center 2012 R2 Data Protection Manager Console
System Center 2012 R2 Data Protection Manager Database Server
System Center 2012 R2 Data Protection Manager Reporting Server
System Center 2012 R2 Data Protection Manager Server
System Center 2012 R2 Operations Manager Additional Management Server
System Center 2012 R2 Operations Manager Console
System Center 2012 R2 Operations Manager Database Server
System Center 2012 R2 Operations Manager Datawarehouse Server
System Center 2012 R2 Operations Manager Management Server
System Center 2012 R2 Operations Manager Reporting Server
System Center 2012 R2 Operations Manager Web Console Server
System Center 2012 R2 Orchestrator Database Server
System Center 2012 R2 Orchestrator Management Server
System Center 2012 R2 Orchestrator Primary Runbook Server
System Center 2012 R2 Orchestrator Runbook Designer
System Center 2012 R2 Orchestrator Standby Runbook Server
System Center 2012 R2 Orchestrator Web Components Server
System Center 2012 R2 Service Management Automation Database Server
System Center 2012 R2 Service Management Automation Runbook Worker Server
System Center 2012 R2 Service Management Automation Web Service Server
System Center 2012 R2 Service Manager Additional Management Server
System Center 2012 R2 Service Manager Analysis Server
System Center 2012 R2 Service Manager Console
System Center 2012 R2 Service Manager Database Server
System Center 2012 R2 Service Manager Datawarehouse Management Server
System Center 2012 R2 Service Manager Datawarehouse Server
System Center 2012 R2 Service Manager Management Server
System Center 2012 R2 Service Manager Reporting Server
System Center 2012 R2 Service Manager SharePoint Web Parts Server
System Center 2012 R2 Service Manager Web Content Server
System Center 2012 R2 Service Provider Foundation Additional Server
System Center 2012 R2 Service Provider Foundation Database Server
System Center 2012 R2 Service Provider Foundation Server
System Center 2012 R2 Service Reporting Analysis Server
System Center 2012 R2 Service Reporting Datawarehouse Server
System Center 2012 R2 Service Reporting Server
System Center 2012 R2 Virtual Machine Manager Cluster Active Management Server
System Center 2012 R2 Virtual Machine Manager Cluster Passive Management Server
System Center 2012 R2 Virtual Machine Manager Console
System Center 2012 R2 Virtual Machine Manager Database Server
System Center 2012 R2 Virtual Machine Manager Management Server
System Center 2012 SP1 App Controller Additional Server
System Center 2012 SP1 App Controller Console
System Center 2012 SP1 App Controller Database Server
System Center 2012 SP1 App Controller Server
System Center 2012 SP1 Configuration Manager Console
System Center 2012 SP1 Configuration Manager Database Server
System Center 2012 SP1 Configuration Manager Provider Server
System Center 2012 SP1 Configuration Manager Site Server
System Center 2012 SP1 Data Protection Manager Console
System Center 2012 SP1 Data Protection Manager Database Server
System Center 2012 SP1 Data Protection Manager Server
System Center 2012 SP1 Operations Manager Additional Management Server
System Center 2012 SP1 Operations Manager Console
System Center 2012 SP1 Operations Manager Database Server
System Center 2012 SP1 Operations Manager Datawarehouse Server
System Center 2012 SP1 Operations Manager Management Server
System Center 2012 SP1 Operations Manager Reporting Server
System Center 2012 SP1 Operations Manager Web Console Server
System Center 2012 SP1 Orchestrator Database Server
System Center 2012 SP1 Orchestrator Management Server
System Center 2012 SP1 Orchestrator Primary Runbook Server
System Center 2012 SP1 Orchestrator Runbook Designer
System Center 2012 SP1 Orchestrator Standby Runbook Server
System Center 2012 SP1 Orchestrator Web Components Server
System Center 2012 SP1 Service Manager Additional Management Server
System Center 2012 SP1 Service Manager Analysis Server
System Center 2012 SP1 Service Manager Console
System Center 2012 SP1 Service Manager Database Server
System Center 2012 SP1 Service Manager Datawarehouse Management Server
System Center 2012 SP1 Service Manager Datawarehouse Server
System Center 2012 SP1 Service Manager Management Server
System Center 2012 SP1 Service Manager Reporting Server
System Center 2012 SP1 Service Manager SharePoint Web Parts Server
System Center 2012 SP1 Service Manager Web Content Server
System Center 2012 SP1 Service Provider Foundation Additional Server
System Center 2012 SP1 Service Provider Foundation Database Server
System Center 2012 SP1 Service Provider Foundation Server
System Center 2012 SP1 Virtual Machine Manager Cluster Active Management Server
System Center 2012 SP1 Virtual Machine Manager Cluster Passive Management Server
System Center 2012 SP1 Virtual Machine Manager Console
System Center 2012 SP1 Virtual Machine Manager Database Server
System Center 2012 SP1 Virtual Machine Manager Management Server
Windows Azure Pack 2013 Admin API Server
Windows Azure Pack 2013 Admin Authentication Site Server
Windows Azure Pack 2013 Admin Site Server
Windows Azure Pack 2013 Console
Windows Azure Pack 2013 Database Server
Windows Azure Pack 2013 MySQL Extension Server
Windows Azure Pack 2013 SQL Server Extension Server
Windows Azure Pack 2013 Tenant API Server
Windows Azure Pack 2013 Tenant Authentication Site Server
Windows Azure Pack 2013 Tenant Public API Server
Windows Azure Pack 2013 Tenant Site Server
Windows Azure Services 2012 AdminAPI Server
Windows Azure Services 2012 AdminSite Server
Windows Azure Services 2012 Database Server
Windows Azure Services 2012 TenantAPI Server
Windows Azure Services 2012 TenantPublicAPI Server
Windows Azure Services 2012 TenantSite Server

SQL versions and variables:
SQL Server 2008 R2
 - SQLInstallSharedDir=$SystemDrive\Program Files\Microsoft SQL Server
 - SQLInstallSharedWOWDir=$SystemDrive\Program Files (x86)\Microsoft SQL Server
 - SQLInstanceDir=$SystemDrive\Program Files\Microsoft SQL Server
 - SQLSecurityMode=SQL
 - SQLSAPassword=$InstallerServiceAccountPassword
 - SQLAdmins=
 - SQLAgtServiceAccount=
 - SQLAgtServiceAccountPassword=
 - SQLServiceAccount=
 - SQLServiceAccountPassword=
 - SQLASServiceAccount=
 - SQLASServiceAccountPassword=
 - SQLRSServiceAccount=
 - SQLRSServiceAccountPassword=
 - SQLInstallSQLDataDir=$SystemDrive\Program Files\Microsoft SQL Server
 - SQLUserDBDir=$SQLInstallSQLDataDir\MSSQL10_50.$Instance\MSSQL\Data
 - SQLUserDBLogDir=$SQLInstallSQLDataDir\MSSQL10_50.$Instance\MSSQL\Data
 - SQLTempDBDir=$SQLInstallSQLDataDir\MSSQL10_50.$Instance\MSSQL\Data
 - SQLTempDBLogDir=$SQLInstallSQLDataDir\MSSQL10_50.$Instance\MSSQL\Data
 - SQLBackupDir=$SQLInstallSQLDataDir\MSSQL10_50.$Instance\MSSQL\Data
 - SQLASDataDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS10_50.$Instance\OLAP\Data
 - SQLASLogDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS10_50.$Instance\OLAP\Log
 - SQLASBackupDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS10_50.$Instance\OLAP\Backup
 - SQLASTempDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS10_50.$Instance\OLAP\Temp
SQL Server 2012
 - SQLInstallSharedDir=$SystemDrive\Program Files\Microsoft SQL Server
 - SQLInstallSharedWOWDir=$SystemDrive\Program Files (x86)\Microsoft SQL Server
 - SQLInstanceDir=$SystemDrive\Program Files\Microsoft SQL Server
 - SQLSecurityMode=SQL
 - SQLSAPassword=$InstallerServiceAccountPassword
 - SQLAdmins=
 - SQLAgtServiceAccount=
 - SQLAgtServiceAccountPassword=
 - SQLServiceAccount=
 - SQLServiceAccountPassword=
 - SQLASServiceAccount=
 - SQLASServiceAccountPassword=
 - SQLInstallSQLDataDir=$SystemDrive\Program Files\Microsoft SQL Server
 - SQLUserDBDir=$SQLInstallSQLDataDir\MSSQL11.$Instance\MSSQL\Data
 - SQLUserDBLogDir=$SQLInstallSQLDataDir\MSSQL11.$Instance\MSSQL\Data
 - SQLTempDBDir=$SQLInstallSQLDataDir\MSSQL11.$Instance\MSSQL\Data
 - SQLTempDBLogDir=$SQLInstallSQLDataDir\MSSQL11.$Instance\MSSQL\Data
 - SQLBackupDir=$SQLInstallSQLDataDir\MSSQL11.$Instance\MSSQL\Data
 - SQLASDataDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS11.$Instance\OLAP\Data
 - SQLASLogDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS11.$Instance\OLAP\Log
 - SQLASBackupDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS11.$Instance\OLAP\Backup
 - SQLASTempDir=$SystemDrive\Program Files\Microsoft SQL Server\MSAS11.$Instance\OLAP\Temp
 - SQLClusterIPAddress=
 - SQLClusterNetwork=Cluster Network 1
 - SQLClusterIPSubnet=
 - SQLClusterDisks=

All the Installables:
Windows Server 2012 R2
Windows Server 2012
SQL Server 2008 R2
   http://download.microsoft.com/download/D/8/0/D808E432-5AC6-4DA5-A087-21947AC4AC5F/1033/SQLFULL_x64_ENU.exe
SQL Server 2008 R2 SP2
   http://download.microsoft.com/download/3/D/C/3DC6663D-8A76-40A6-BCF2-2808C385D56A/SQLServer2008R2SP2-KB2630458-x64-ENU.exe
SQL Server 2012
   http://download.microsoft.com/download/4/C/7/4C7D40B9-BCF8-4F8A-9E76-06E9B92FE5AE/ENU/x64/SQLFULL_x64_ENU_Install.exe
   http://download.microsoft.com/download/4/C/7/4C7D40B9-BCF8-4F8A-9E76-06E9B92FE5AE/ENU/x64/SQLFULL_x64_ENU_Core.box
   http://download.microsoft.com/download/4/C/7/4C7D40B9-BCF8-4F8A-9E76-06E9B92FE5AE/ENU/x64/SQLFULL_x64_ENU_Lang.box
SQL Server 2012 SP1
   http://download.microsoft.com/download/3/B/D/3BD9DD65-D3E3-43C3-BB50-0ED850A82AD5/SQLServer2012SP1-KB2674319-x64-ENU.exe
.NET Framework 4.0 Full
   http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe
SQL Server 2008 R2 Native Client
   http://go.microsoft.com/fwlink/?LinkID=188401
SQL Server 2008 R2 Command Line Utilities
   http://go.microsoft.com/fwlink/?LinkID=188430
SQL Server 2008 R2 Analysis Management Objects
   http://go.microsoft.com/fwlink/?LinkID=188448
Windows Server Update Services 3.0 SP2
   http://download.microsoft.com/download/B/0/6/B06A69C3-CF97-42CF-86BF-3C59D762E0B2/WSUS30-KB972455-x64.exe
ASP.NET Web Pages 2
   http://download.microsoft.com/download/2/D/C/2DCA2ADA-AD18-40FC-9F2D-715977CB2FCC/AspNetWebPages2Setup.exe
Visual C++ 2008 Redistributable
   http://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe
Visual C++ 2010 Redistributable
   http://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe
   http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
URL Rewrite 2
   http://download.microsoft.com/download/6/7/D/67D80164-7DD0-48AF-86E3-DE7A182D6815/rewrite_amd64_en-US.msi
MySQL Connector Net 6.5.4
   http://mysql.mirrors.pair.com/Downloads/Connector-Net/mysql-connector-net-6.5.4.msi
ASP.NET MVC 3
   http://download.microsoft.com/download/F/3/1/F31EF055-3C46-4E35-AB7B-3261A303A3B6/AspNetMVC3ToolsUpdateSetup.exe
ASP.NET MVC 4
   http://download.microsoft.com/download/2/F/6/2F63CCD8-9288-4CC8-B58C-81D109F8F5A3/AspNetMVC4Setup.exe
Windows Automated Deployment Kit 8.1
   http://download.microsoft.com/download/6/A/E/6AEA92B0-A412-4622-983E-5B305D2EBE56/adk/adksetup.exe
SQL Server 2012 Native Client
   http://go.microsoft.com/fwlink/?LinkID=239648
SQL Server 2012 Command Line Utilities
   http://go.microsoft.com/fwlink/?LinkID=239650
Silverlight
   http://download.microsoft.com/download/5/A/C/5AC56802-B26B-4876-8872-7303C8F27072/20125.00/runtime/Silverlight_x64.exe
SQL Server 2012 Analysis Management Objects
   http://go.microsoft.com/fwlink/?LinkID=239666
SQL Server 2012 System CLR Types
   http://download.microsoft.com/download/F/E/D/FEDB200F-DE2A-46D8-B661-D019DFE9D470/ENU/x64/SQLSysClrTypes.msi
SQL Server 2012 Shared Management Objects
   http://download.microsoft.com/download/F/E/D/FEDB200F-DE2A-46D8-B661-D019DFE9D470/ENU/x64/SharedManagementObjects.msi
PowerShell Extensions for SQL Server 2012
   http://download.microsoft.com/download/F/E/D/FEDB200F-DE2A-46D8-B661-D019DFE9D470/ENU/x64/PowerShellTools.msi
Report Viewer 2012 Redistributable
   http://download.microsoft.com/download/F/B/7/FB728406-A1EE-4AB5-9C56-74EB8BDDF2FF/ReportViewer.msi
Report Viewer 2010 Redistributable
   http://download.microsoft.com/download/E/A/1/EA1BF9E8-D164-4354-8959-F96843DD8F46/ReportViewer.exe
Report Viewer 2008 SP1 Redistributable
   http://download.microsoft.com/download/0/4/F/04F99ADD-9E02-4C40-838E-76A95BCEFB8B/ReportViewer.exe
SQL Server 2008 Native Client
   http://download.microsoft.com/download/3/5/5/35522a0d-9743-4b8c-a5b3-f10529178b8a/sqlncli.msi
Windows Identity Foundation 3.5
   http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu
Sync Framework Runtime 1.0
   http://download.microsoft.com/download/C/9/F/C9F6B386-824B-4F9E-BD5D-F95BB254EC61/Redist/amd64/Microsoft%20Sync%20Framework/Synchronization.msi
Microsoft Chart Controls
   http://download.microsoft.com/download/c/c/4/cc4dcac6-ea60-4868-a8e0-62a8510aa747/MSChart.exe
Filter Pack 2.0
   http://download.microsoft.com/download/0/A/2/0A28BBFA-CBFA-4C03-A739-30CCA5E21659/FilterPack64bit.exe
SQL Server 2008 Analysis Services ADOMD.NET
   http://download.microsoft.com/download/A/D/0/AD021EF1-9CBC-4D11-AB51-6A65019D4706/SQLSERVER2008_ASADOMD10.msi
Server Speech Platform Runtime
   http://download.microsoft.com/download/8/D/F/8DFE3CE7-6424-4801-90C3-85879DE2B3DE/Platform/x64/SpeechPlatformRuntime.msi
Server Speech Recognition Language en-US
   http://download.microsoft.com/download/E/0/3/E033A120-73D0-4629-8AED-A1D728CB6E34/SR/MSSpeech_SR_en-US_TELE.msi
SQL Server 2008 R2 SP2 SSRS
   http://download.microsoft.com/download/1/0/F/10F1C44B-6607-41ED-9E82-DF7003BFBC40/rsSharePoint.msi
SharePoint 2010 Module
   http://download.microsoft.com/download/A/8/F/A8FB4651-86D6-440E-9F41-8F638E1FDDDE/SPModule.zip
SharePoint 2010 Foundation
   http://download.microsoft.com/download/9/7/6/97602C6D-45A8-4E0B-AC17-6C814314B857/SharePoint_SP2_en-us.exe
Windows Automated Deployment Kit
   http://download.microsoft.com/download/9/9/F/99F5E440-5EB5-4952-9935-B99662C3DF70/adk/adksetup.exe
Windows Management Framework 3.0
   http://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu
WCF Data Services 5.0
   http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe
Single Instance Storage
System Center 2012 SP1 Management Packs
   http://download.microsoft.com/download/F/F/1/FF13C2CF-C955-4D3F-94EA-4094AD0DBFF3/Microsoft.Windows.InternetInformationServices.CommonLibrary.MP
   http://download.microsoft.com/download/F/F/1/FF13C2CF-C955-4D3F-94EA-4094AD0DBFF3/Microsoft.Windows.InternetInformationServices.2003.MP
   http://download.microsoft.com/download/F/F/1/FF13C2CF-C955-4D3F-94EA-4094AD0DBFF3/Microsoft.Windows.InternetInformationServices.2008.MP
   http://download.microsoft.com/download/0/7/7/07714012-3B7C-4691-9F2B-7ADE4188E552/Microsoft.SQLServer.Library.mp
System Center 2012 SP1 Integration Packs
   http://download.microsoft.com/download/1/6/5/16536A3A-DD03-4FE8-AD32-6DDA091FDC03/System_Center_2012_SP1_Integration_Packs.EXE
   http://download.microsoft.com/download/1/6/5/16536A3A-DD03-4FE8-AD32-6DDA091FDC03/System_Center_2012_SP1_Orchestrator_Integration_ToolKit.exe
   http://download.microsoft.com/download/9/2/9/9296C5AB-65FE-4012-B1D9-07BA597468FE/System_Center_2012_SP1_Integration_Pack_for_HP_iLO_OA.exe
   http://download.microsoft.com/download/8/9/F/89FF3558-B4E6-4E16-AF61-7638A1B86107/System_Center_2012_SP1_Integration_Pack_for_HP_Operations_Manager.exe
   http://download.microsoft.com/download/8/6/D/86D9DA53-88E5-4406-B2E1-4C3AD524FB40/System_Center_2012_SP1_Integration_pack_for_HP_Service_Manager.exe
   http://download.microsoft.com/download/E/1/3/E131DFD5-D584-4133-9D07-91570D31C992/System_Center_2012_SP1_Integration_Pack_for_VMware_vSphere.EXE
   http://download.microsoft.com/download/E/B/1/EB11226B-D4FD-4C3B-ACD1-F5E8F89A56E0/System_Center_2012_SP1_Integration_Pack_for_IBM_Netcool_OMNIbus.EXE
System Center 2012 SP1 Configuration Manager Prerequisites
System Center 2012 SP1 Orchestrator
   http://care.dlservice.microsoft.com/dl/download/9/9/4/99473D48-B8E2-453D-9B34-33FEA42038F7/SC2012_SP1_SCO.exe
System Center 2012 SP1 Virtual Machine Manager
   http://care.dlservice.microsoft.com/dl/download/4/8/5/485D6D85-5811-4E7E-83F5-84F9492D3234/SC2012_SP1_SCVMM.exe
System Center 2012 SP1 App Controller
   http://care.dlservice.microsoft.com/dl/download/F/9/1/F916020F-CCFF-427C-BF88-30318B72582F/SC2012_SP1_SCAC.exe
System Center 2012 SP1 Operations Manager
   http://care.dlservice.microsoft.com/dl/download/0/3/F/03F1B876-E7D7-45BE-8B0B-0BDBD02DD800/SC2012_SP1_SCOM_EN.exe
System Center 2012 SP1 Configuration Manager
   http://care.dlservice.microsoft.com/dl/download/D/7/9/D792FC0F-D278-43CB-8ABB-ECAF2A52DAA7/SC2012_SP1_RTM_SCCM_SCEP.exe
System Center 2012 SP1 Service Manager
   http://care.dlservice.microsoft.com/dl/download/B/F/5/BF5B6A61-D12C-41F3-B220-6A127E24C57F/SC2012_SP1_SCSM.exe
System Center 2012 SP1 Data Protection Manager
   http://care.dlservice.microsoft.com/dl/download/2/C/B/2CB869AF-E266-4869-8C56-80532F98E0EE/SC2012_SP1_SCDPM_EVAL_Part2.exe
   http://care.dlservice.microsoft.com/dl/download/2/C/B/2CB869AF-E266-4869-8C56-80532F98E0EE/SC2012_SP1_SCDPM_EVAL_Part1.exe
Windows Azure Services 2012
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-AdminAndTenantAPI.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-AdminSite.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-TenantSite.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-EventSources.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-Usage.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-WebAppGallery.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-SQLServer.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-MySQL.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-Monitoring.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-PowerShellAPI.msi
   http://download.microsoft.com//download/1/9/8/198468DE-FC13-4265-80C5-C04C3AAC059C/MgmtSvc-ConfigSite.msi
System Center 2012 SP1 Integration
System Center 2012 SP1 Configuration
System Center 2012 R2 Management Packs
   http://download.microsoft.com/download/f/7/b/f7b960c9-7392-4c5a-bab4-efbb8a66ec2a/BaseOSBlueGA/Microsoft.Windows.Server.Library.mp
   http://download.microsoft.com/download/f/7/b/f7b960c9-7392-4c5a-bab4-efbb8a66ec2a/BaseOSBlueGA/Microsoft.Windows.Server.2008.Discovery.mp
   http://download.microsoft.com/download/F/F/1/FF13C2CF-C955-4D3F-94EA-4094AD0DBFF3/Microsoft.Windows.InternetInformationServices.CommonLibrary.MP
   http://download.microsoft.com/download/F/F/1/FF13C2CF-C955-4D3F-94EA-4094AD0DBFF3/Microsoft.Windows.InternetInformationServices.2003.MP
   http://download.microsoft.com/download/F/F/1/FF13C2CF-C955-4D3F-94EA-4094AD0DBFF3/Microsoft.Windows.InternetInformationServices.2008.MP
   http://download.microsoft.com/download/0/7/7/07714012-3B7C-4691-9F2B-7ADE4188E552/Microsoft.SQLServer.Library.mp
System Center 2012 R2 Virtual Machine Manager
System Center 2012 R2 Orchestrator
System Center 2012 R2 App Controller
System Center 2012 R2 Operations Manager
System Center 2012 R2 Configuration Manager
System Center 2012 R2 Configuration Manager Prerequisites
System Center 2012 R2 Service Manager
System Center 2012 R2 Data Protection Manager
Windows Azure Pack 2013
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-PowerShellAPI.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-WebAppGallery.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-SQLServer.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-MySQL.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-Monitoring.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-Usage.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-AdminAPI.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-TenantAPI.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-TenantPublicAPI.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-AdminSite.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-AuthSite.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-WindowsAuthSite.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-TenantSite.msi
   http://download.microsoft.com/download/8/7/2/87230A1A-D4CA-4925-B57B-8C27E5BD153C/MgmtSvc-ConfigSite.msi
System Center 2012 R2 Integration

All the Installables that do not have Download URL:
Windows Server 2012 R2
Windows Server 2012
Single Instance Storage
System Center 2012 SP1 Configuration Manager Prerequisites
System Center 2012 SP1 Integration
System Center 2012 SP1 Configuration
System Center 2012 R2 Virtual Machine Manager
System Center 2012 R2 Orchestrator
System Center 2012 R2 App Controller
System Center 2012 R2 Operations Manager
System Center 2012 R2 Configuration Manager
System Center 2012 R2 Configuration Manager Prerequisites
System Center 2012 R2 Service Manager
System Center 2012 R2 Data Protection Manager
System Center 2012 R2 Integration

lørdag 26. oktober 2013

DPM: Free tape treshold reached (3305)

If you monitor your Data Protection Manager server with Operations Manager, you may see an alert i OpsMgr looking something like this:
The number of free tapes in the Tape Library IBM TotalStorage 3573 Tape Library is less than or equals the threshold value of 2. You must add tape to the library and mark it as free in order to prevent future backups from failing. (ID: 3305)
Expired tapes that are being managed by that DPM server can be reused automatically without being marked as free by the administrator. However, this alert do not take in to account the expired tapes, so you may see this alert even if the total available (free and expired) tapes are higher than the threshold value.

This is not a threshold that OpsMgr controls, it's a threshold stored within the DPM database. Currently DPM do not have any way to change this threshold. Although unsupported, you can use SQL Server Management Studio to alter the threshold value, like this:

Select the DPM database within SQL Server Management Studio and then create a New Query, type in and execute this update query (this is valid for DPM 2012):
UPDATE [dbo].[tbl_MM_MediaPool]
   SET [MinThresholdForFreePool] = 1
 WHERE ([Name] = 'Free Media Pool')
GO

For a detailed explanation on how to mark a tape as free, look at this TechNet topic.

PowerShell: List processes currently using the most CPU

If you find yourself supporting users on Remote Desktop Session Host servers, you may want to use PowerShell to identify processes with high CPU utilization and also kill such processes if they cause problem for other users.

I have created a small PowerShell script that will help with this task. Save the script on your Session Host servers, and use PowerShell from your Workstation to invoke it.

You have to enable PowerShell Remoting on your Session Host servers to allow it, like this:
Enable-PSRemoting -Force

You should also allow unsigned scripts to be executed, like this:
Set-ExecutionPolicy RemoteSigned

If your Workstation is not in the same domain, you must tell your Workstation to trust the Remote host, like this:
Set-Item wsman:\localhost\client\trustedhosts *

This will trust all Remote hosts, but you can also specify hosts with a comma-separated list of hostnames.

To run the command on the session host, you can enter a remote PowerShell session, where you can run multiple commands, like this:
Enter-PSSession -ComputerName computername.yourdomain.com

To exit a Remote PowerShell session you simply type exit.

You can also use Invoke-Command, instead of Enter-PSSession, if you only need to run one command.

Now then, if you save the script as D:\Scripts\PSGetTop.ps1 on a server called rdsh1.contoso.com, you would start PowerShell on your Workstation, and type (this will use your current credentials, so you would need to have permission, like local administrator, on that server to do this):
Enter-PSSession -ComputerName rdsh1.contoso.com
CD D:\Scripts
# List top 5 processes with highest CPU utilization:
.\PSGetTop.ps1

# List top 10 processes with highest CPU utilization:
.\PSGetTop.ps1 -ReturnCount 10

# List the WINWORD process with highest CPU utilization:
.\PSGetTop.ps1 -ProcessName WINWORD -ReturnCount 1

# List top 5 iexplore processes With highest CPU utilization, show result in a gridview:
.\PSGetTop.ps1 -ProcessName iexplore -ReturnCount 5 -GridView

# To kill a process with Process Id 1111, you can type:
(Get-Process -Id 1111).Kill()

# To get a list of all uniqe programs that run processes, try this:
Get-Process | Group-Object Name | select Count,Name | ft -AutoSize

Script PSGetTop.ps1:
Param([string]$ProcessName, [int]$SelectFirst, [switch]$GridView)

If (! $ProcessName) { $ProcessName = '*' }
If (! $SelectFirst) { $SelectFirst = 5 }

If ($ProcessName -eq '*') {
  $ProcessList = gwmi Win32_PerfFormattedData_PerfProc_Process | select IDProcess,Name,PercentProcessorTime | where { $_.Name -ne "_Total" -and $_.Name -ne "Idle"} | sort PercentProcessorTime -Descending | select -First $SelectFirst
}
Else {
  $ProcessList = gwmi Win32_PerfFormattedData_PerfProc_Process | where {$_.Name -eq $ProcessName} | select IDProcess,Name,PercentProcessorTime | sort PercentProcessorTime -Descending | select -First $SelectFirst
}
$TopProcess = @()
ForEach ($Process in $ProcessList) {
  $row = new-object PSObject -Property @{
    Id = $Process.IDProcess
    Name = $Process.Name
    User = (gwmi Win32_Process | where {$_.ProcessId -eq $Process.IDProcess}).GetOwner().User
    CPU = $Process.PercentProcessorTime
    Description = (Get-Process -Id $Process.IDProcess).Description
  }
  $TopProcess += $row
}

If ($GridView) {
  $TopProcess | sort CPU -Descending | select Id,Name,User,CPU,Description | Out-GridView
}
Else {
  $TopProcess | sort CPU -Descending | select Id,Name,User,CPU,Description | ft -AutoSize
}

torsdag 24. oktober 2013

OpsMgr 2012: Agents not showing up in Pending Management

If you add an agent, and it is not showing up in Pending Management in the console of Operations Manager, you can try to:
  1. Check the setting under Administration > Settings > Type: Server > Security > Select Review new manual agent installations in pending management view
  2. Restart the System Center Management Health service on the agent.
  3. When installing CU updates to Operations Manager servers, make sure the user has SA rights to the OperationsManager SQL database in addition to Administrator rights to the servers.
  4. Try to use PowerShell to approve pending agent, like this:
Approve them all:
Get-SCOMPendingManagement | Approve-SCOMPendingManagement

Approve specific agent:
Get-SCOMPendingManagement | where {$_.AgentName -eq "ServernameFQDN"} | Approve-SCOMPendingManagement

onsdag 25. september 2013

DPM 2012: Backup and Recovery of a Physical Windows Server 2008 R2

Before starting

Verify that you have the Windows Server Backup feature installed on the target system and that there is enough space on the disks. For more details, look here.

When restoring, the drive you restore to must be the same size or larger. Move all software and data that is not part of the OS to another drive, if possible. Consider to shrink the system partition in Computer Management > Disk Management (leave 15 GB free space). To shrink it you may have to use a third party tool like PerfectDisk, and perform a free space consolidation defragmentation, before trying to shrink the volume.

Remember that a Bare Metal Recovery backup do not include any data disk, you need to backup those separately.

If your system is using UEFI to boot instead of BIOS, then a copy of the Boot Configuration Data could come in handy if you have to recreate the boot configuration. To take a copy of BCD use the command:
bcdedit /export masterBCD

Backup without DPM

You can create a Bare Metal Recovery backup directly on the target computer using wbadmin from the command line like this:
wbadmin start backup -backupTarget:\\server\bmrbackup$ -allCritical -systemState -vssFull

In this example, the backup target is a UNC path. The backup target cannot be included in the backup, but it can be on a local drive, including removable storage like a USB drive. After creating the folder, you need to share it (even if it is local) and set permissions so that the user running the backup can write to the target folder. Remember to modify the share permissions.

If you receive errors, always look at the event log first for any related errors. You can also look at the backup logs in the folder %windir%\Logs\WindowsServerBackup. The logs are in a binary format so you have to convert them before you can read them. This command will do the job:
tracerpt C:\Windows\Logs\WindowsServerBackup\Wbadmin.0.etl -f HTML -report Wbadmin.0.htm

If the backup catalog is corrupt, you could try to delete it with the command:
wbadmin delete catalog

Backup with DPM

In DPM Console > Protection > New


DPM is not able to calculate Disk Allocation for a System State backup. We need to adjust the size. For details look here. In short, we calculate the Replica Volume size with the formula:
(Data source size x 3) / 2

And we calculate the Recovery point volume size with formula:
(Data source size x retention range in days x 2) / 100 + 1600 MB

In this case we have a System Volume (C:) with 147 GB of data, so we use:


This can take a long time, and you will not see any Data Transfer in DPM because the backup is running locally on the target server. However, WSB will create the shadow copy directly on the DPM replica volume over the network. If you have a slow network, it would be considerably faster to backup locally using the wbadmin tool.

If you want to see the progress of the system state backup, go to the target server and start Windows Server Backup.


If you see a new Backup message like this, you can double click it to see the progress:


In there you will also see that the backup location is on the DPM server.

Troubleshoot the backup


You can look in DPM Event Logs on the DPM server for any related errors.

Two common errors in the DPM Alerts log would be Event ID 3106 and 3100, both indicating that DPM is running out of disk space. You would need to make the replica volume size larger.

Another place to look is in the WSB Backup logs as described earlier (see Backup Without DPM).

You can also look in the event log on both DPM server and the target server for related VSS errors. On the target, you can run commands to list the VSS writers and shadows, like this:

To see if any writers show up in a failed or hung state you can run vssadmin list writers (make sure the ASR Writer is in a healthy state, the Waiting for completion state is normal):


To see if any snapshot is in progress use vssadmin list shadows:


Another root cause to investigate is the Page file allocation on both target and DPM server. For more details look here.

You can also look at the DPM logs in the DPM installation folder (by default %Program Files%\Microsoft DPM\DPM\Temp). Look at the MSDPMCurr.errlog for conflicting jobs by other applications etc.

Restore a Bare Metal Recovery backup using DPM Console


When we want to do a restore, we start by restoring the Bare Metal Recovery from backup to a network share (or you could use a USB drive), preferably on the DPM server itself (faster restore). The main point if you want to restore over the network, is that we need a folder that is shared and accessible to the target server. We can also restore to a USB drive that we can attach to the target server later.

Verify that a Bare Metal Recovery exist in DPM Console > Protection:


Next, we restore using DPM Console > Recovery, to a folder with enough space, select the Bare Metal Recovery and then click Recover:


After the Disk recovery job has completed, we need to share the folder (or copy the WindowsImageBackup folder to a USB drive). Locate the folder that contain the WindowsImageBackup folder:


Then open Right click and open Properties > Sharing > Advanced Sharing


The default Permissions, everyone can Read, is sufficient, verify this in Permissions.

Restore a Bare Metal Recovery Backup on the target computer


To restore to the target server you need the Windows Server 2008 R2 installation media. Boot the server from this and select the Option Repair your computer:


Depending on your hardware, you may have to load drivers for your raid controller or storage controller. Download the latest drivers from the vendor to a USB drive, insert it and load the drivers, and then remove the USB drive to avoid confusion as to where the restore should go.

Restore using GUI


To recover from your bare-metal backup, select Restore System Using a System Image You Created Earlier, and click next. If you did not insert a storage device containing the system image backup, you will see the message: A valid backup location could not be found, select Cancel:


In the next dialog, select Restore a different backup:


Click the Advanced button:


Then Search for a backup on the network and click Yes to confirm:



This will require that you have a DHCP server on your network. If you do not then you can press Shift+F10 to open a command window and type:
ipconfig
netsh
interface
tcp
ipv4
set address "Local Area Connection" static 10.0.0.222 255.0.0.0 10.0.0.1 1

Modify set address to match your adapter name and the network address you got from the ipconfig command. Make sure you do not use an address that is already in use on your network.

After you have connected to the network, you must specify the location of the backup (UNC path to the share you created earlier): \\DPMSERVER\BMRRestore
When you click OK you must supply credentials. Make sure you type in the domain or machine name in addition to username (\\CONTOSO\user).

If authenticated, you will see the backup location, select it and click next. Then select the backup and click next.

If you select to Format and repartition disks, remember to exclude any data drives to avoid data loss:


After this you will see a summary screen, click Finish. Then you will have to Confirm the restore. If any error comes up, you can use the command prompt to investigate further.

One error that you may see is the message: No disk that can be used for recovering the system disk can be found. If you see this, then verify that you see the disk by starting command prompt and type:
diskpart
list disk

If you do not see your disk then you may have to load drivers. If you see more than one disk then consider to remove all disks that is not your system disk. If you see your disk, then list the volumes by typing:
list volume

If you see any volumes on the system disk, you can remove them (this will erase all data on the disk so be very sure you have the correct disk before you do this) by tying:
list disk
select disk 0
clean
exit

Replace the disk number 0 above with the correct number for your system disk that you identify using the command list disk.

After this try to restore again.

If you still get the error, then perhaps your old disk was bigger than the new disk. Obviously getting a bigger disk will resolve this, or, if the new disk is bigger than the system partition on the original disk, you can use the command line to do the restore.

Restore using command line


This also requires you to boot from the Windows Server 2008 R2 installation media and select the Option Repair your computer. Load driver if needed and then select the option Use recovery tools that can help fix problems starting Windows. Then you need to copy the WindowsServerBackup folder from the DPM restore to a USB disk. Verify that you have the folder WindowsServerBackup in the root of the disk (e.g. F:\WindowsServerBackup). If it is in a subfolder (e.g. F:\BMRBackup\WindowsServerBackup), you can move it using the command line it by typing:
move F:\BMRBackup\WindowsServerBackup F:\

To do a restore using wbadmin you need to find the Version identifier for the backup. To get it type:
wbadmin get versions -backupTarget:F:

Where F: is the USB disk where you have the WindowsServerBackup folder.

You will now be able to find the Version Identifier and can copy it (left click highlight, right click highlighted text). Next step is to verify the backup by getting a list of items in the backup:
wbadmin get items -backupTarget:e: -machine:myserver -version:<right click to paste copied text>

Before you do a restore you should always now about the disks in your system. To see them type:
wbadmin get disks

If you see any data disks that you need to protect, you can copy the Disk identifiers from the list and use them to exclude the disks from the restore.
For example, if the backup is on drive F: and the Version identifier is 09/25/2013-11-18 and we have two data disks with Disk identifier {bb33dddc-7ee2-4433-abab-22fe3f471ccc} and {ee33dddc-7cc2-4433-abab-22fe3f471cee}, then the command to start a restore would be:
wbadmin start sysrecovery -version:09/25/2013-11:18 -backupTarget:F: -recreateDisks -excludeDisks: {bb33dddc-7ee2-4433-abab-22fe3f471ccc},{ee33dddc-7cc2-4433-abab-22fe3f471cee}

If the restore was successfull you can now restart your system and hopefully it will boot up and work as expected.

Restore using command line - take 2


If, for some reason, you are unable to use the sysrecovery command, you can try the start recovery command. However, this may require you to manually create the partitions before the restore. In addition, you may have to restore the boot configuration.

If your system use UEFI it will help if you have a copy of the Backup Configuration Data. This can usually be taken from a similar configured server. To get this file, go to another system that use UEFI and open command prompt, then type bcdedit /export masterBCD. Copy the file masterBCD to the USB drive.

To create the required partitions on the target system, open command line and type:
diskpart
list disk         (note down the disk number for the system disk that you will restore to)
select disk 0     (replace 0 with the correct number)
clean             (PS! all data will be lost)
convert GPT
create partition EFI size=100
format quick FS=FAT32 label=System
create partition MSR size=128
create partition PRIMARY
format quick FS=NTFS label=Windows
assign letter=C
exit

If any other volume use letter C, say volume 0, then you can change it to another letter like this, before you assign letter=C above:
list volume
select volume 0
assign letter=G

Now we can use wbadmin to restore the backup to volume C. For example, if the backup is on drive F: and the Version identifier is 09/25/2013-11-18, then the command to start a restore would be:
wbadmin start recovery -backupTarget:F: -recoveryTarget:C: -itemtype:Volume -items:C: -version: 09/25/2013-11-18

After the restore, we probably need to fix the boot configuration:

If your system use UEFI to boot


Import the Boot Configuration Data we exported earlier, from command prompt type:
bcdedit /import F:\masterBCD
bcdboot c:\Windows
bcdedit

Assuming that you have the masterBCD file on drive F:

From the output of bcdedit, look at Windows Boot Loaders and copy the resumeobject value for the one with device unknown, it should look something like this: {b4222de1-42e1-1112-9889-0134e3b4c221}. Then type:
bcdedit /delete <copied value from above> /cleanup

Then remove all removable storage, cd/dvd’s etc and restart.

When you start the system, you can choose to start normally if you get the message: Windows did not shut down properly.

If your system use BIOS to boot


Open command prompt and type:
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

If the above is not enough, you can try:
bootsect /nt60 c: /force /mbr
bcdboot c:\windows /s c:

mandag 23. september 2013

OpsMgr 2012: Exchange Server 2010 Managment Pack missing Reports

Just a small tip if you have the Exchange Server 2010 Management Pack installed and for some reason the Reports are missing. I have seen this happen when a reinstallation of reporting services was performed.

To resolve it, try this:
  1. Verify that you have a copy of the Microsoft.Exchange.2010.Reports.mp, if you do not you can download it from Microsoft here:
    http://www.microsoft.com/en-us/download/details.aspx?id=692
  2. If you download the management pack, verify that it is the same version that you already have imported. Also, you should not install the management pack, use a tool like 7-Zip to extract the file Microsoft.Exchange.2010.Reports.mp.
  3. In Operations Manager Console, delete the existing Exchange Server 2010 Reports Management Pack.
  4. Open the Reports page used by Operations Manager in a browser, it it typically http://localhost/Reports if you are on the reports server.
  5. If you see a folder called Microsoft.Exchange.2010.Reports, delete it.
  6. In Operations Manager Console, import Microsoft.Exchange.2010.Reports.mp.

torsdag 19. september 2013

OpsMgr Alert: Partitioning and grooming has not completed

When you see this alert it could be that you only have one management server and it has been offline for more than a day. In that case the alert will close next time the monitor runs, by default at 12:01 every day.

But if you have some problem preventing partitioning and grooming, you should get more details fast, so:
  1. Open SQL Server Management Studio with sufficient permissions to run a Stored Procedure against the OpsMgr database, connent to the instance that holds the OpsMgr database.
  2. Right-click the OpsMgr database > New Query. Type:
    p_PartitioningAndGrooming
  3. Hit F5 to run this Stored Procedure.
  4. Within a few minutes you will se the result under Messages. If you see any errors you will probably be closer to understand what to fix...
More on this monitor on MPWiki:

For a more detailed explanation on the Partitioning an grooming process, take a look at Kevin Holmans blog on the topic: OpsMgr 2012 – Grooming deep dive in the OperationsManager database

In short he recommends:
If you ever have a problem with grooming - or need to get your OpsDB database size under control - simply reduce the data retention days, in the console, under Administration, Settings, Database Grooming. To start with - I recommend setting all these to just 2 days, from the default of 7. This keeps your OpsDB under control until you have time to tune all the noise from the MP's you import. So just reduce this number, then open up query analyzer, and execute EXEC p_PartitioningAndGrooming When it is done, check the job status by executing select * from InternalJobHistory order by InternalJobHistoryId DESC The last groom job should be present, and successful. The OpsDB size should be smaller, with more free space. And to validate, you can always run my large table query, found at: Useful Operations Manager 2007 SQL queries

Also, another recommendation from Scom Skills:
Check the size of the Operational Database transaction log free space, and ensure the file is large enough to handle not only regular grooming without issue, but a significant alert storm as a buffer insurance. It doesn't hurt anything to have a transaction log sized up to 50% of your operational database :)

torsdag 5. september 2013

OpsMgr 2012 R2: OpenPegasus and cross-platform agents

In the R2 release of Operations Manager 2012 the management platform for the cross-platform agents to monitor Linux and UNIX systems will change. The current cross-platform agents use the OpenPegasus standard, an open-source implementation of DMTF CIM and WBEM.

As the Cloud-OS is making its entry Microsoft needed System Center to manage different kind of devices and abstractions, both in the cloud and physical. To overcome this Microsoft decided to use Open Management Infrastructure (OMI) to replace OpenPegasus (read more).


This also brings better performance and smaller footprint, which is important for mobile devices.


While upgrading to SCOM 2012 R2 is seamless, Management Packs that use custom OpenPegasus providers will be a problem unless they are rebuilt to be based on the new OMI framework. If you use such management packs today, contact your vendor to make sure they are ready for the new Operations Manager release, otherwise upgrading to SC 2012 R2 will render that monitoring unusable.

One such vendor is NiCE and I have already spoken to them. They have, in preparation for System Center 2012 R2, buildt OMI extension using providers:
“We are happy Microsoft decided to take OMI forward and release it in such a short time – OMI allows us to develop providers leaner and faster. We have already built OMI extensions using providers to support all our cross-platform Management Packs. As OMI is an IT standard recognized in the industry, all our customers and partners will benefit from this”.
Christian Heitkamp, NiCE Product Director
For more details, look at this press release.

Other vendors are:
OpsLogix (will also work with System Center 2012 R2)
Bridgeways (I do not know if this will work)
Quest / Dell (I do not know if this will work)
Oracle (I do not know if this will work)

onsdag 4. september 2013

SysInternals: Get rid of the Open File Security Warning

When you download files from the internet and then open the file, you may get a Warning message like this:


To get rid of that warning you can delete the stream information that is associated with that file. SysInternals has the tool to do that. Download it here.

Using Streams

Usage: streams [-s] [-d] <file or directory>
-sRecurse subdirectories.
-dDelete streams.
Streams takes wildcards e.g. 'streams *.txt'.

Example, using streams from the Pommand Prompt with Run as Administrator:
cd c:\Tools\SysInternals
streams -d autologon.exe


mandag 26. august 2013

DPM 2012 SP1: Install with local SQL 2012

Before installation, join the server to your domain and add Windows Feature .NET Framework 3.5.1. Also install all Windows Updates.

Step 1: Install SQL Server

Features to select:
  • Database Engine Services
  • Reporting Services - Native
  • Management Tools (Optional)

Instance Configuration:
Choose Named instance: LOCALDPM

Server Configuration:
Specify domain accounts for SQL Server Agent, Database Engine and Reporting Services and set them all to Automatic Startup.

Database Engine Configuration:
Remember to add installation account and/or SQL Admins group to SQL Server administrators.

Reporting Services Configuration:
Select Install and Configure.

After installation, restart if needed, then upgrade to SQL Server 2012 SP1 (if you did not use a slipstreamed media). Also run Windows Update.

Verify connection to the Instance by using SQL Server Management Studio.

Step 2: Install DPM

Prerequisites check:
Select Use an existing instance of SQL Server and type in the machine and instance name, example: DPMSERVER\LOCALDPM, then click Check and Install. If you have to restart, do so, but try Check Again first to see if you can continue without a restart.

If you get an error message stating that it is unable to create a registry key for MaxAllowedParallelBackups, I suggest to open up Registry Editor, find the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager, export the key to a file, delete the key, and then import it again. After this click Try Again in the DPM installer.

After installation, verify that the DPM database exist by using SQL Server Management Studio. Also remember to run Windows Update.

Update 28. august 2013:

Step 3: Clean UP

After installing DPM you will find that some features of SQL Server 2008 R2 was installed, as pointed out by Julien De Freitas in the comment below. What was installed was some SQL Server 2008 R2 Shared features, and not SQL Server 2008 R2 Instance features.

When we install SQL server we choose various Instance features, like the Database Engine Services and the Reporting Services. In SQL Server Management Studio, when connected to the DPM instance, we can se a version number after the instance name in Object Explorer. With SQL server 2012 SP1 the version number is 11.00.3000 (or higher if you also installed updates). A complete list of version number can be found here.

You will see that the version of the instance that DPM use is indeed SQL Server 2012 SP1. This is the instance version and we can have multiple instances on the same server with different versions. If we open SQL Server Configuration Manager and look at SQL Server Services, we will find a list of SQL Services on this server. Each instance may have more than one service (like Reporting Services and Agent) but they all have the instance name at the end. You will probably find that the only instance is the one used by DPM. So this concludes that DPM did not install a SQL Server 2008 R2 instance, it used the existing instance that we created before installing DPM.

In adition to instance features, we can choose to install shared features, like Management Tools. What the DPM installer does, and this is outlined by Microsoft under SQL server requirements for DPM, is that it installs additional programs, which are not required for DPM:

Microsoft SQL Server Compact 3.5 SP1
Microsoft SQL Server Compact 3.5 SP1 Query Tools
Microsoft SQL Server 2008 R2 Native Client
Microsoft Visual Studio Tools for Applications 2.0
Microsoft Office 2003 Web Components

This is not instance features, but shared features, and sadly it is in the older version of SQL server. Even if the features do exist already in a newer version, it will install these older version.

Why Microsoft do this is not easy to tell, maybe they should clean up the installer or make it smarter, but the good news is that they are not requierd for DPM, so you can uninstall them.

I did so, and I uninstalled in this order:

Microsoft SQL Server Compact 3.5 SP2 ENU
Microsoft SQL Server Compact 3.5 SP2 Query Tools
Microsoft SQL Server 2008 R2 (64-bit) (Select All shared features)
Microsoft SQL Server 2008 R2 Native Client
Microsoft SQL Server 2008 R2 Management Objects
Microsoft Visual Studio Tools for Applications 2.0 - ENU

And DPM is still happy, even without those components :)