Version 2.5 of My Script to Download All SCOM Management Packs with PowerShell

A lot of time has passed since I haven’t updated my script and Microsoft once again forced me to update it. Again they’ve decided to change something on their download pages. Thank you Microsoft for changing your websites so I can advance my PowerShell skills. The script is now version 2.5 and here are the changes: Continue reading “Version 2.5 of My Script to Download All SCOM Management Packs with PowerShell”

What Does it Takes to be System Center Specialist These Days

Back in the days the System Center family consisted only of MOM and SMS and a lot has changed in the last years and more changes to come as we are reaching the GA date of the R2 wave. Also I am not saying it was easier back in the days to be System Center Specialist, in fact I think it was harder as the information about the products was more scarce. Anyway the idea of this blog post is to recite what knowledge and skills are needed for our activities as System Center Specialist. Keep in mind that these knowledge and skills cover all System Center components and even Windows Azure Pack but it is not mandatory to have them all and the level of knowledge can differ. So here we go:

  • Networking – Networking knowledge is helpful in all products but especially in components as SCVMM and SCOM. SCOM now has network monitoring, it is not the advanced network monitoring solution but some knowledge is needed to implement it and maintain it. SCVMM is now deep into networking and I won’t go into details. And here I am even not touching subtopics like SNMP, Network Virtualization, VLANs, PVLANs, IP address management and etc.
  • Storage – As with networking basic storage knowledge is needed for all components. You need to know on what storage you will run the components, how many IOPS are needed in order to run them and etc. Also in SCVMM 2012 R2 you now have more features that are related with storage like crating  SOFS with Storage spaces, managing virtual fiber channel support, managing of zones and etc. Subtopic knowledge can include ISCSI, Storage Spaces, SMB, Fiber Channel and etc.
  • Cross-Platform – Believe it or not but Microsoft is embracing Cross-Platform and this is visible in System Center. SCCM can now manage client devices with iOS or Android, on the server side SCOM is adopting the OMI standard which allows monitoring Unix/Linux servers and even more, SCVMM supports and can deploy Unix/Linux operating systems and I bet more will come. Orchestrator can also be used in managing Cross-Platform systems.
  • SQL – No System Center component works without an SQL Server. Any knowledge you can gain on SQL is very beneficial for you as specialist. In SCVMM you can even deploy SQL servers with templates.
  • Applications – It is all about the app. SCOM can monitor various applications by Microsoft or third party. Most distinctive examples are monitoring of .NET and J2EE applications. With Orchestrator often task is to develop runbooks that interact with other applications and even other management software which is of course also application.
  • Scripting – Scripting is the beginning of automating and orchestrating your datacenter. All System Center components have PowerShell cmdlets, Orchestrator can execute PowerShell scripts and the new component Service Management Automation is basically more mature engine to execute PowerShell scripts.
  • Development -  Some advanced functionalities can be achieved only when some development is involved. With SCOM, SCSM and Orchestrator development of custom solutions is often involved. As specialist you may not be the person who will develop the solution but you can be involved for some part. We can also look that every new System Center component now gets a web service and knowing standard like OData can be very helpful.
  • ITIL (MOF)  – You may not like the processes but they help us preventing of setting the Datacenter on fire Smile. All System Center components take part in ITIL but SCSM is tightly integrated with the framework and having knowledge of the framework can only help you with SCSM.
  • Security – Security is a job for all employees in a company. Security not only exists in System Center components but can also be applied by some of them. SCCM allows you to manage Endpoint Protection, you can also apply policies with Desired Configuration Management and of course apply patches which can also be done trough SCVMM for some servers.

Let me know what you think? Am I right or am I wrong? Did I’ve missed something? Write them all in the comment section.

Version 2.0 of My Script to Download All SCOM Management Packs with PowerShell

Not so long ago I’ve wrote a script that can download all SCOM Management Packs released by Microsoft. Unfortunately Microsoft has decided to change the interface of their download pages and didn’t asked me for approval Smile. Because of that the script stopped to work as it was dependent on the layout of the download web pages. I’ve decided to give it a try to fix the script. Looked at the layout of the new download page. Change a bit the logic and some lines and viola the script is working again.

You can grab Version 2.0 of the script from TechNet Gallery or from systemcentercentral.com.

P.S. The Script requires PowerShell 3.0.

Virtual Machine Manager Service Template Example for SharePoint 2013

A common request to cloud providers is not only to provide individual virtual machines but also to provide a service. Jim Britt from Microsoft provides a service template for SharePoint 2013 that you can customize to fit in your cloud. If you are interested it check it out here.

Download All Microsoft Management Packs for SCOM 2007, R2 and 2012 in Bulk with PowerShell

Just last week Daniel Savage published a list on TechNet Wiki with all management packs for OpsMgr 2007, R2 and 2012. A couple of days later Stefan Stranger wrote Finding Management Packs from Microsoft Download website using PowerShell and provided a small PowerShell script that provides a list with the management packs from that site and links to them. After reading that post I was wondering wouldn’t be cool if you get the names of all management packs and their links and download all of them with their guides also. And when you download them to be able to organize them in structure that includes the name of the MP and its version. Instead of writing to Stefan I’ve said to myself – What the hell I will try to make that script. I do not have any big experience with PowerShell and it was not easy to built the script but because I’ve managed to create this proves that PowerShell is easy to learn but you have to be persistent. During the creation of the script I’ve noticed that some of the links on the page were incorrect so I’ve corrected them.

In short the script grabs the names and the links for all management packs on the site. Than it goes trough every MP link. From every MP page gets the version of it and all download links (msi, guides and etc.). Than creates a directory for that MP and subdirectory with the version number and downloads all files in it. The script requires PowerShell v3.

Here is the script:

   1: #Get list of all Management packs and their links from Technet Wiki

   2: #Thanks to Stefan Stranger http://blogs.technet.com/b/stefan_stranger/archive/2013/03/13/finding-management-packs-from-microsoft-download-website-using-powershell.aspx

   3: $allmpspage = Invoke-WebRequest -Uri "http://social.technet.microsoft.com/wiki/contents/articles/16174.microsoft-management-packs.aspx"

   4: $mpslist = $allmpspage.Links | Where-Object {($_.href -like "*http://www.microsoft.com/*download*") -and ($_.outerText -notlike "*Link to download page*") -and ($_.InnerHTML -like "*This link*")} |

   5: Select @{Label="Management Pack";Expression={$_.InnerText}}, @{Label="Download Link";Expression={$_.href}}

   6:

   7: #Directory to save the downloaded management packs. Make sure it is created first before running the script

   8: $dirmp = "D:\MPs\"

   9:

  10: #go trough every MP

  11: foreach ($mp in $mpslist)

  12: {

  13: #get MP link

  14: $mplink = $mp.'Download Link'

  15:

  16: #get MP name

  17: $mpname = $mp.'Management Pack'

  18: Write-Host "MP Name:" $mpname

  19: Write-Host "MP Link:" $mplink

  20:

  21: #Read MP page

  22: $mppage = Invoke-WebRequest -Uri "$mplink"

  23:

  24: #Find all download links on the page (mp, guide and etc.). $_.href cannot be used beacuse some of the links require conformation before download

  25: $dws = $mppage.Links | Where-Object {($_.'bi:fileurl' -like "*http://download.microsoft.com/download*") } | Select @{Label="Download Link";Expression={$_.'bi:fileurl'}}

  26:

  27: #Find the version number of the MP on its page

  28: $version = $mppage.ParsedHtml.getElementsByTagName("td") | Where "classname" -contains "col2" | Select -ExpandProperty InnerText

  29:

  30: #Remove character ? in fron of MP version. For some reason some versions of mps start with ?

  31: $version = $version.Replace("?","")

  32:

  33: #Remove / character from MP name if contains it beacuse can create unneeded directories

  34: $mpname = $mpname.Replace("/","")

  35: Write-Host "MP Version:" $version

  36: Write-Host "Download Links:" $dws

  37:

  38: #Create directory with the Name of the MP and subdirecotory with the version of the MP

  39: New-Item -ItemType directory -Path $dirmp\$mpname\$version

  40:

  41: #Get the array of found download links

  42: $dws = $dws.'Download Link'

  43:

  44: #Get trough every download link

  45: foreach ($dw in $dws)

  46: {

  47: #assign download link to $source variable

  48: $source = $dw

  49:

  50: #Get the name of the file that will be downloaded

  51: $Filename = [System.IO.Path]::GetFileName($source)

  52:

  53: #Set directory where the file to be downloaded

  54: $dest = "$dirmp\$mpname\$version\$Filename"

  55:

  56: #initiate client for download

  57: $wc = New-Object System.Net.WebClient

  58:

  59: #download the file and put it in the destination directory

  60: $wc.DownloadFile($source, $dest)

  61: }

  62:

  63: #empy line

  64: Write-Host

  65: }

You can download it from TechNet Gallery also.

Once again thanks to Stefan Stranger.