Top Menu

Yesterday, I received an e-mail from Microsoft with great news to start the new year with! I have been renewed as a Microsoft Most Valued Professional (MVP). It’s 6th time in a row!

Dear Dariusz Porowski,

Congratulations! We are pleased to present you with the 2016 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Cloud and Datacenter Management technical communities during the past year.

Being the MVP is a honor and I’m a very proud of that! This opens up many opportunities to both learn and teach in professional and personal life. Now, my expertise (Hyper-V) was changed to Cloud and Datacenter Management category.

I’d like to say THANK YOU to all technical community members and I wish you a happy New Year!

Suddenly in one of my customers, Service Management Automation (SMA) service has stopped. After quick basic infrastructure review (like SQL connection, networking, etc) everything looks good. In event log I observed error with Event ID 2222 and below description:

The service exited. The Runbook Worker Service (rbsvc) service on machine ServerName is not in the current deployment.

SmaEventId2222

After small investigation and troubleshooting, the issue was license expiration (after 180 days running in trial). To fix this issue, just apply System Center license key to SMA using below PowerShell script:

$ProductKey = 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX'
$WebServiceEndpoint = 'https://localhost'
Set-SmaLicense -ProductKey $ProductKey -WebServiceEndpoint $WebServiceEndpoint

To summarize above:

  • Symptom
    • SMA service (rbsvc) does not want to start and generate Event ID 2222
  • Cause
    • License expiration after 180 days of trial
  • Solution

Couple of days ago on Microsoft Virtual Academy was published deep dive course about Hyper-V in upcoming Windows Server 2016 (about 6 hours of great content). The course is led by Matt McSpirit – Technical Evangelist at Microsoft (@mattmcspirit) and Ben Armstrong (@VirtualPCGuy) – Principal Program Manager Lead on the core virtualization team at Microsoft. I just done it and it’s awesome! I highly recommend it! 🙂 What you learn in this course:

  • Learn about Hyper-V and how the new release forms the Microsoft Datacenter Platform foundation.
  • Explore recommended resources to help you continue your learning around Windows Server 2016.
  • Learn how Windows Server and Hyper-V Containers differ from VMs and how to put them to use.
  • Find out how you can seamlessly upgrade to the next version of Windows Server.
  • Learn about Hyper-V features that now light up with Linux guests.
  • Learn about new features that provide increased redundancy and improved availability.
  • Explore a number of new Hyper-V and Windows Server 2016 features that make an IT Pro’s life easier.
  • Learn about isolation capabilities which can help protect against malware.
  • Explore some of the new and powerful Windows Server 2016 virtual machine (VM) security capabilities.
  • Explore a new Windows Server deployment option, Nano Server, and how it is used as a Hyper-V host.
  • Explore some of the improvements which help ensure that Hyper-V operates better at scale.

See the course on MVA – Windows Server 2016: Virtualization Deep Dive

One of the best practices is run Windows Azure Pack Application Pools on dedicated account. WAP has quite a lot Application Pools and changing each manually is not very comfortable. You can do bulk change using below PowerShell script (Assumption: You use the same identity for each AppPool).

### Change the variables to fit your environment
$userName = "domain\username"
$password = "password"

### Let's start the party!
Import-Module WebAdministration
$appPools = Get-ChildItem IIS:\AppPools | where { $_.Name -like "MgmtSvc-*" }
 
foreach($appPool in $appPools)
{
    $appPool.processModel.userName = $userName
    $appPool.processModel.password = $password
    $appPool.processModel.identityType = 3
    $appPool | Set-Item
    $name = $appPool.name
    Write-Host "$name updated..." -ForegroundColor Green
}
Write-Host "Done!" -ForegroundColor Yellow

Of course you can easily customize the script to other things than the WAP by changing the condition 🙂

Close