Three new videos on various “stuff”

 :: Posted by John Savill on 10-05-2014

Been swamped lately as started writing a new book, Mastering Azure Infrastructure Services and also doing a few other projects but this weekend recorded three videos related to a few different topics including Windows 10 Virtual Desktops, Azure Auto-Scale and Operations Manager to Service Manager Alert Lifecycles! Enjoy.

New Demo integrating a hybrid VM deployment with Windows Azure Pack

 :: Posted by John Savill on 07-15-2014

Decided to play with the Windows Azure Pack and specifically offer a hybrid VM deployment which would deploy either via SCVMM to a cloud OR deploy to Azure depending on if the user desired high availability for the VM. I walk through this in video http://youtu.be/wLANreQyk3c and mini version can be seen below.

I uploaded my runbook to http://www.savilltech.com/downloads/hybridvm/CreateVM_Cleaned.ois_export and the sample RDP file to http://www.savilltech.com/downloads/hybridvm/TemplateRDP.rdp.

If you decide to play with this there are a number of things you need to do:

  1. The Orchestrator service account needs to be a SCVMM administrator (as it interfaces via PowerShell to update VM status)
  2. You will need configurations in Orchestrator for Service Manager and SCVMM
  3. You will need to have downloaded your Azure publish settings file which you can do with command Get-AzurePublishSettingsFile and should save this as c:\data\Microsoft Azure Subscription.publishsettings (if you follow my standard configuration)
  4. You need the Azure and SCVMM PowerShell cmdlets installed on the Runbook server or whatever server you configure the PowerShell to run on (I use localhost which means it runs on the runbook server but in larger environment you would likely have a specific PowerShell server(s) )
  5. There are lots of places in the PowerShell with < > that you need to replace with your values and ideally in Get Clouds for user you should use real logic to set values!
  6. In Create Azure VM you need to replace subscription name with your own name as in the Azure Publish Settings File
  7. Make sure the same RDP file is in c:\data as used in Create RDP File activity
  8. Make sure the users in AD have the mail attribute populated

Also I really don’t have error handling in this runbook, it was more a demonstration of what can be done and integration with Windows Azure Pack. I also enabled ADFS for my Windows Azure Pack tenant site and I’ll write that up as a FAQ on http://www.ntfaq.com over the next 2 weeks. I already have FAQs on installing Windows Azure Pack.

This runbook was done as one long runbook. Normally you would not do that, you would have separate runbooks but to demonstrate the flow and how simple it really is I left it as one big runbook but wanted to be clear this is not best practice.

CreateVMRunbookPicture

 

Have fun!

A whole bunch of stuff with Service Manager

 :: Posted by John Savill on 05-24-2014

It started out very simple. I was preparing for a client that wanted to allow business groups to schedule the deployment of patches to their servers via Configuration Manager using Orchestrator and Service Manager with some approval workflow. This seemed the right approach and I decided to quickly setup a little example of what this would look like but instead of using Configuration Manager I decided to just be able to run any PowerShell command on the computers in the passed Active Directory group (which contained the computers for that business group). The final solution is walked through at http://youtu.be/RFLhyMhJOOc and I have a bunch of assets listed below:

The example runbook is available at http://www.savilltech.com/videos/RunActivity.ois_export

The example PowerShell is available at http://www.savilltech.com/videos/RunCommand.ps1

The example email approval template is available at http://www.savilltech.com/videos/RequestApproval.txt

I wanted to briefly go over the key steps here that are walked through in the video:

Firstly I decided to do the actual logic of finding all the machines in the passed AD group using PowerShell and within the PowerShell actually perform the actions. You could have done this with Service Manager activities but the direction is PowerShell so I decided to implement the main logic in PowerShell but use Orchestrator activities for interacting with Service Manager such as update Service Request status etc. The basic PowerShell is below:

$ADGroupName = “FileServicesGroup”
$CommandToRun = “mkdir c:\johntest”

$ScriptBlockContent = {
param ($CommandToRun)
Invoke-Expression $CommandToRun }

$ADGroupMembers = Get-ADGroupMember -Identity $ADGroupName
foreach ($computer in $ADGroupMembers)
{
#Run the required command on each computer in the group
Invoke-Command -ComputerName $computer.name -ScriptBlock $ScriptBlockContent -ArgumentList $CommandToRun
}

In this basic PowerShell I am hardcoding the AD group and the command to run but when it gets into Orchestrator I’ll replace that with the information sent from Service Manager. Note I use a parameter to pass to the scriptblock since the actual variable is local to my PowerShell session and NOT the one I create remotely on each machine.

I then create a runbook in Orchestrator which essentially uses this PowerShell which also hooks into Service Manager to update the Service Request status.

In Service Manager I synchronize with Orchestrator to get the Runbook in the library then create a Runbook Automation Activity template and then a new Service Request template which has two activities. The first is a review activity which is for the submitting users line manager (as defined in Active Directory) and the second calls the Runbook Automation Activity template and defines the Runbook ID (RBId) and the Service Request ID (SRId) which is the Work Item – ID for each of the respective values. This is shown below.

IdMappinginSRTemplateforRBActivity

Because when this all runs via Orchestrator it runs as the Orchestrator service account I made the Orchestrator service account a local administrator on each server using the Group Policy Preferences local group feature and added the service account. Other options could have been to specify a credential as part of the actual Invoke-Command within the PowerShell but I liked the Group Policy option.

gpoadmin

I wanted to use Office 365 and I walk through the basic steps in a FAQ at http://windowsitpro.com/service-manager/connect-service-manager-office-365

I created email templates for the review activity and notification the Service Request is complete and then configured those to be used as part of the workflows.

I created Request Offerings and Service Offerings and the key point is for end users to see them I created new Catalog Groups, one for Request Offerings and one for Service Offerings that dynamically added all published of each type. I then created a new User Role that was for all Domain Users that included both those new Catalog Groups.

I then walk through it all!

AGAIN DO NOT DEPLOY THIS IN PRODUCTION.

THE ABILITY FOR ANY USER TO RUN ANY COMMAND ON EVERY SERVER IN A PASSED GROUP IS VERY BAD. THIS WAS AN EXAMPLE ONLY !!!!

This is an example only and you should modify the actions performed in Orchestrator to your own specific needs.

And the video:

Mastering Hyper-V 2012 R2 is available!

 :: Posted by John Savill on 04-28-2014

Just wanted to let everyone know my new book is now available. I also wrote a Windows 8.1 application that is free and complements the book offering videos, links and PowerShell for everything referenced in the book which is available at http://www.savillte.ch/mhv.

master2012r2hypervscreen

Let me know what you think!

MasteringHyperV2012R2Cover

Quick video on Azure Traffic Manager

 :: Posted by John Savill on 04-02-2014

In this video I walk through what Azure Traffic Manager is and then a demonstration of the technology in action. I wrote about this at http://windowsitpro.com/windows-azure/understand-azure-traffic-manager.

Also available at http://youtu.be/JV-ZqpQM2VI.

New video recording introducing Windows Azure ExpressRoute

 :: Posted by John Savill on 03-17-2014

In this new video on a call SmartBoard I walk through at a high level what Windows Azure ExpressRoute is. Available at http://youtu.be/rYqL5-nNpjc and also linked below.

The links discussed in the video are:
http://msdn.microsoft.com/library/windowsazure/dn606309.aspx – ExpressRoute Technical Overview
http://msdn.microsoft.com/en-us/library/windowsazure/dn606292.aspx – ExpressRoute FAQ

New video on using Clustered Storage Spaces

 :: Posted by John Savill on 03-17-2014

Just got my hands on a Dell MD1200 storage enclosure with a mix of HDD and SSD so created a quick video of creating a clustered storage space. Check it out at http://youtu.be/azWTGvDeZaA.

What’s new in Hyper-V 2012 R2 Part 1

 :: Posted by John Savill on 03-13-2014

Article now live at http://windowsitpro.com/windows-server-2012-r2/windows-server-2012-r2-hyper-v!

New video covering static IP in Windows Azure IaaS

 :: Posted by John Savill on 03-08-2014

A short video on using Static IP addresses in Windows Azure IaaS!

Have a FAQ on it as well at http://windowsitpro.com/windows-azure/set-azure-vm-static-ip-address.

New video on VMDK to VHD conversion options

 :: Posted by John Savill on 03-03-2014

Added a new video to go with Chapter 13 of the new book. Talks about options to convert VMDK to VHD including using the NetApp Shift technology for superfast conversions.

Key useful links: