Thursday, February 9, 2012

System Center 2012 – Download Paths for all Products and Dependencies



While I was working with System Center 2012, I had a major issue downloading all the products using the Microsoft Download Manager. Therefore, I thought of providing a single link for all products under one umbrella.

Hope it helps you guys.

System Center 2012 Release Candidatehttp://technet.microsoft.com/en-us/evalcenter/hh505660.aspx?ocidotc-f-corp-jtc-DPR&wt.mc_id;TEC_103_1_33
Microsoft® SQL Server® 2008 R2 Service Pack 1http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26727
SQL Server 2008 R2 Service Pack 1 Cumulative update package 4http://support.microsoft.com/kb/2633146
Microsoft .NET Framework 4.0http://www.microsoft.com/download/en/details.aspx?id=22833
Download Windows Server 2008 R2 with Service Pack 1http://technet.microsoft.com/en-us/evalcenter/dd459137.aspx
System Center 2012 DPMhttp://care.dlservice.microsoft.com/dl/download/0/F/6/0f6679F0-9E9C-432A-B44C-7BCCBB36D82E/DPM_EVAL_RC.zip
System Center Operations Manager 2012 RChttp://care.dlservice.microsoft.com/dl/download/8/C/4/8C4F744E-0F2C-438C-8786-362D687B2517/SCOM2012RC.exe
System Center VMM RChttp://care.dlservice.microsoft.com/dl/download/0/6/8/068DBD4A-6544-4CC7-966A-810FC0D89E4D/VMM.EVAL.RC.exe
System Center Configuration Manager 2012 RC2http://care.dlservice.microsoft.com/dl/download/3/4/C/34C7656A-F89E-473C-8CE0-21DA5DB071C/ConfigMgr_2012_RC2_ENU_7703.exe
Microsoft App Controller Betahttp://care.dlservice.microsoft.com/dl/download/7/A/C/7AC5564B-DB1A-47B3-8F7E-E464445EE5B6/AppController.Beta.exe
Microsoft System Center Service Manager 2012 RChttp://care.dlservice.microsoft.com/dl/download/F/5/F/F5F22F42-7566-4246-A0C6-FF81FD5CA250/SCSM2012_RC.exe
System Center 2012 Orchestrator RChttp://care.dlservice.microsoft.com/dl/download/A/9/5/A956026A-18AB-4046-B47E-301AFABF9E34/System_Center_2012_Orchestrator_RC.EXE
System Center Updates Publisher 2011http://www.microsoft.com/download/en/details.aspx?id=11940
Microsoft Security Compliance Manager 2.0.20.0http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=16776
Quest Management Extensions to manage Apple Devices using SCCMhttp://www.quest.com/management-xtensions-configuration-manager-apple-edition/


Let me know if you would like to see other products listed here.

Saturday, February 4, 2012

Microsoft Systems Center Orchestrator 2012 – Features and Architecture




Features

System center orchestrator provides the capability to:
  • Automate Processes and IT operations regardless of hardware or platform
  • Improve Operational Service Level Agreements by providing zero drop time in manual operations
  • Connect systems from different vendors
Understanding SCO Architecture

The basic concept of SCO is that it allows you to create an automated sequence of tasks using built-in GUI based activities. Some instances of activities are 'monitor Even Log', 'Validate an SQL Command', or 'Send Email' etc.

These activities can be linked to each other to create a workflow. These activities are available in the form of Integration Packs for various technologies and vendors.

These automated sequences are referred as runbooks that are created in the runbook designer. The runbooks execute from the runbooks server.

All information related to the deployed runbooks, the status of running runbooks, log files, and configuration data for Orchestrator is stored in the Microsoft SQL database.


The runbook server communicates with the database server through the management server.
Once a runbook is created, it is important to debug it. Therefore, the runbook designer provides a runbook tester to test the rubooks created.



The database orchestrator is a web based console that allows to start or stop runbooks and view real-time status on a web browser.

The deployment manager is a tool to deploy the integration packs from various vendors.


Orchestrator web services enable the custom applications to connect to the Orchestrator console to start or stop runbooks.

SCEP2012-Validate Antimalware Policy and Date of Policy Applied Remotely


Description

Well, the good news is that SCCM now integrates seamlessly with SCEP therefore, you have a single tool to manage inventory, deploy payloads, and manage antivirus definitions / policies. As a security expert, one key requirement that may come your way is to validate the antimalware settings on a local machine remotely. This may be required for end user computing devices remotely connecting to your network via VPN etc.

Solution

Most of the Antimalware settings on the local machine are saved under the following registry hive:


 HKLM\Software\Microsoft\Microsoft Antimalware

There are 2 things that we want to check in our script:
  1. The Antivirus Definition Version
  2. The Date that the definition was updated

The Antivirus Definition Version

Below is a vbscript code that reads the registry and displays the Antivirus Definition version:

Option Explicit

 Dim regPath, regValue
Dim WSHShell
Dim value, a, i
Dim dtmDate, lngBias, lngHigh, lngLow

 ' Read the registry value
Set WSHShell = CreateObject("WScript.Shell")
regPath = "HKLM\SOFTWARE\Microsoft\Microsoft
Antimalware\Signature Updates\AVSignatureVersion"
value=WSHShell.RegRead(regPath)

wscript.echo "Antivirus Definition Version = " & value

 The Date that the definition was updated

Below is a vbscript code that reads the registry for the date on which the definition was applied and converts the FILETIME value to readable dates:


regPath = "HKLM\SOFTWARE\Microsoft\Microsoft Antimalware\Signature Updates\SignaturesLastUpdated"
value=WSHShell.RegRead(regPath)
a=value

' Convert the FILETIME HEX values to readable date
  
lngBias=0
lngHigh=0
lngLow=0
for i=7 to 4 step -1
lngHigh=lngHigh*256+a(i)
next

for i=3 to 0 step -1
lngLow=lngLow*256+a(i)
next

if err.number<>0 then
dtmDate = #1/1/1601#
err.clear
else

If lngLow < 0 Then
lngHigh = lngHigh + 1
End If

If (lngHigh = 0) And (lngLow = 0 ) Then
dtmDate = #1/1/1601#
Else
dtmDate = #1/1/1601# + (((lngHigh * (2 ^ 32)) +
lngLow)/600000000 - lngBias)/1440
End If
End If

on error goto 0

'The antivirus definition date is
wscript.echo "Antivirus Definition Date = " &dtmDate 

Thursday, February 2, 2012

SCCM 2012 – Deploy multiple applications using Dynamic Variables in Task Sequence


Description
A key requirement while deploying OSD based task sequences is to deploy applications after the image is deployed. This is a key requirement especially when we deploy role based applications or business unit based applications at the end of the image

 

Solution
The best way to accomplish this is by utilizing dynamic variables in SCCM 2012. In this feature of SCCM you can deploy Virtual Applications and MSI based applications using dynamic variables.

 

This is how we can utilize this feature:

 

Step1: Create a collection and add an array of collection variables e.g.:
  1. APP01 = .NET 4.0
  2. APP02 = APP-V 4.6
  3. APP03 = Adobe Reader App-V Package
  4. APP04 = SCEP2012
  5. APP05 = Adobe Flash
  6. APP06 = SNAP-IT
Note:
  • Each variable must start with a common name and have 01, 02, 03 … and so on....appended to the variable name
  • The values of these variables is the application name and not application deployment types or package ids




Step2: Create a task sequence and add the task – "Install Applications", select "Install Applications according to dynamic variable list" and add the Base Variable Name as APP



 
Note: 
  • Only the base name of the variable must be used e.g. APP in this case


Step 3: Deploy the task sequence on the collection. All applications will get deployed in a sequence based on the numbering of the collection variables

Monday, January 30, 2012

System Center 2012 Licensing




Overview: Microsoft came up with the licensing model for System Center 2012 recently. Here I will discuss some of the key features of the MS licensing model that consultants and cloud evangelists can take to their customers.
Some of the key features of the MS licensing model include are:
  1. High ROI: Microsoft cloud solutions are licensed on per processor model instead of virtual machine or memory model. I believe this is a very important criterion for selling MS cloud over VMWare since
    1. The cost to the customers does not increase linearly as the cloud landscape increases
    2. MS cloud solutions become more lucrative for our customers since the return of investment on MS based clouds will be higher
  2. Simplicity: Microsoft licensing model is simpler to understand than my phone bills. There are 2 server management licensing models which are best suited for the small scale or large scale cloud adoption and are customer centric:
    1. Datacenter – Ideal for large scale cloud adoption
    2. Standard – Ideal for POCs or small scale cloud adoption
  3. Consolidated: Though the System Center suite comprises of multiple products, the pricing for the products is consolidated thereby making System Center 2012 sell out like a single suite.
Per Microsoft's white paper on comparison between MS and VMWare cloud pricing:
  • Microsoft based cloud would cost 1/5th of a VMWare based cloud for a Medium sized business with 6VMs per processor
  • 1/8th for a Large Enterprise scenario with 6VMs per processor
  • 1/16th for a Large Enterprise with 15VMs per processor assuming 42 physical hosts
Server Licensing Models
Datacenter Licensing Model
  • The datacenter licensing model gives unlimited virtualization capability
  • This is good for clients opting for high density private clouds
  • Each license covers 2 processors
  • Requires minimum of 25 licenses to be purchased
  • Includes software assurance that can be opted for 1, 2, or 3 years
  • Datacenter Licensing includes the following System Center products:
    • Infrastructure Management
      • Configuration Manager (SCCM)
      • Endpoint Protection (SCEP)
      • Virtual Machine Manager (SCVMM)
      • Operations Manager (SCOM)
      • Data Protection Manager (SCDPM)
    • Service Delivery Automation
      • Orchestrator (SCO)
      • Service Manager (SCSM)
    • Application Management Interface
      • App Controller (SCAC)
      • Self Service Portals (This is the differentiator that service delivery companies should be eyeing at)


Standard Licensing Model
  • The standard licensing model gives limited virtualization capability i.e. 2 operating system environments
  • This is good for POC environments or early adopters of cloud who are looking at small implementations
  • All capabilities of System Center 2012 are available with the Standard License
  • Includes software assurance that can be opted for 1, 2, or 3 years

 Reference: Microsoft Licensing Datasheet

VMWare v/s Microsoft Cloud Product Comparison


Comparison of VMWare v/s Microsoft Cloud Product

Application Management Comparison
ServicesApplication Self ServiceApplication Performance ManagementApplication Management Across CloudsIT Service ManagementIT service reportingProcess Automation and OrchestrationCloud Creation and DelegationData Protection and DRMonitoringConfiguration and ComplianceHypervisor and VM ManagementProcess Automation and Orchestration
vCloud Director
X
X
X
App Controller
X
vFabric Application Performance Manager
X
Operations Manager
X
X
X
vCloud Connector
X
Virtual Machine Manager
X
X
vmWare Service Manager
X
Service Manager
X
X
vCenter Operations Management Suite
X
X
X
Orchestrator
X
X
vCenter Orchestrator
X
Data Protection Manager
X
vCenter Site Recovery Manager
X

Friday, January 20, 2012

SCCM 2012 – How to catch errors in Task Sequence


Issue Description:
A key requirement with a task sequence is to intelligently capture logs in case of a failure or a success. Some of the key issues faced while working with task sequences are:
  1. Log files in a task sequence hop from one folder to another depending on the OS installation and the SCCM Client Installation status.
Path of the log fileOS StatusSCCM Client Status
<largest fixed partition>\SMSTSLOG Windows PENot Applicable
%temp%\SMSTSLOGS full operating system No
C:\windows\ccm\Logs full operating system Yes

  1. This issue of hopping log files accentuates when the Task Sequence fails and it is difficult to locate the exact location of the log files.

     
  2. It also becomes challenging to look for smsts logs when mass deployments are done. It is important to know how to manage logs for successes and failures, therefore the requirement is to copy the smsts.log to a central share and easily differentiate whether the deployment was a success or a failure

     
  3. In addition, when a particular task of the sequence fails, there is an error prompt that stays for 15 minutes or so and the machine reboots thereafter. In case the administrator is not in front of the machine where the TS failed, he or she would not know upfront that there was a failure until he or she checks the log files. Therefore one requirement is to halt the task sequence where it fails
Solution Description:
Based on the above issues and requirements, the key tasks we need to accomplish are:
  1. If the task sequence (TS) is a success, then
    1. The logs should get copied to a central share
    2. Into a folder called SUCCESS
    3. And the TS should complete gracefully
  2. If the TS is a failure, then
    1. the logs should get copied to a central share
    2. into a folder called FAILURE
    3. Also the TS should halt immediately so that the admin can see that there was a failure
We will accomplish this requirement by using in-built variable in the task sequence - _SMSTSLastActionSucceeded. This variable captures the state of the last action and returns TRUE when the action was successful and FALSE when there was an error.



#DescriptionScreenshot
1
  • Put the entire logic of the Task Sequence including OS install, application install, driver install, etc under a main group called MAIN TS
  • At the same level of the Main TS, put another action called Try Catch
  • Create 2 sub groups under Try Catch called:
    • Success
    • Failure
  • The idea is to capture any errors that happen in the Main TS into that try catch action
2
  • Set "Main TS" group to Continue on error
3
  • Add a condition to the "Success" group:
Evaluate whether the TASK SEQUENCE VARIABLE: _SMSTSLastActionSucceeded equals TRUE
  • Here the variable _SMSTSLastActionSucceeded captures the status of the last task executed
  • If there is a failure in the MainTS, the _SMSTSLastActionSucceeded will be set to false, else true
  • The TS will enter Success group only if there are no errors in the previous tasks



4
  • Similarly, add another condition to the "Failure" group:
Evaluate whether the TASK SEQUENCE VARIABLE: _SMSTSLastActionSucceeded equals FALSE
  • The TS will enter Failure group only if there are errors in the previous tasks



5Add the following logic under the Failure Group:
This is the share where all the logs will get copied
6
  • Delete any folder associated with a computer name in the Failure Folder -> \\<servername>\LogFileShare\Failure\<computername>
  • Add a Run Command Line tasks and put the following command in the command line:
  • cmd.exe /c rd L:\Failure\%_smstsmachinename%% /s /Q
  • Here %_smstsmachinename%% command refers to the computer name of the target computer
This task is necessary to ensure all earlier logs corresponding to the machine are deleted
7
  • Create a new folder in the Failure folder for the computer name -> \\<servername>\LogFileShare\Failure\<computername>
  • Add a Run Command Line tasks and put the following command in the command line:
  • cmd.exe /c md L:\Failure\%_smstsmachinename%%
8
  • Copy the log files from the smstslog file path to \\<servername>\LogFileShare\Failure\<computername>
  • Add a Run Command Line tasks and put the following command in the command line:
  • cmd.exe /c copy %_smstslogpath%\*.* L:\failure\%_smstsmachinename%
9
  • Halt the Task Sequence by invoking a simple wscript.echo command
  • Invoke a simple vbscript that prompts the path of the folder where the logs are kept:
  • Script.echo "There is an error in the task sequence implementation. The log files are stored at \\<servername>\LogFileShare\"
10
  • Add similar tasks for group "Success"
11
  • Create a folder on the server for storing the logs and share it with Everyone Full Control
  • Create 2 additional folders called Failure and Success
12
  • The Failure and Success folders will get populated with appropriate computer names