Last updated by at .

  • Microsoft Azure
  • Virtual Machine Manager

Category: Powershell

AzureStartup

Microsoft Azure Update at Build 2014

At the Build Conference 2014 Microsoft already announced a lot of new stuff for the whole Microsoft or IT ecosystem. There is absolutely no time to cover all the changes and announcements Microsoft has made in the past 2 days. So I will just focus on the things I care about.

  • Prior to the Build Conference Microsoft announced that Windows Azure will be renamed to Microsoft Azure. This will show how Microsoft is not only building on top of the Windows platform, they also have opened up for other platforms an solutions a long time ago. One example for that maybe was the announcement of supporting Oracle Software in Microsoft Azure around a year ago.
  • Mark Russinovich announced some great new changes to Microsoft Azure IaaS. You can now capture and deploy images, you can Puppet and Chef as well as PowerShell DSC support, to configure you server environment. An this is great for developers, some of the features will show up directly in Visual Studio. Microsoft also did some work on the Networking site which was really important, for example you can now change the subnet for Virtual Machines.
    Microsoft Azure Announcements
  • Microsoft also launched a lot of new preview features like Azure Cache and a lot more. What I love the most is the new Microsoft Azure feature called Azure Automation. Azure Automation allows you to automate the creation, monitoring, deployment, and maintenance of resources in your Azure environment using a highly-available workflow execution engine. Orchestrate time-consuming, error-prone, and frequently repeated tasks against Azure and third party systems to decrease time to value for your cloud operations. This is basically Service Management Automation (SMA), which was released with System Center 2012 R2 as a on premise version, now running up in Microsoft Azure. For those how haven’t heard about SMA, SMA is a new automation engine and Runbooks in Service Management Automation and Microsoft Azure Automation are Windows PowerShell workflows.
    Microsoft Azure Automation
  • Microsoft also release a new preview of the Microsoft Azure portal. Since Microsoft released a huge number of new features in Azure, the “old” management portal didn’t really fit the requirements anymore. The new Azure management portal helps you to be much more organized and is using a lot of new concept like “blades” to help you navigate through your Azure environment. The new dashboard also gives you a quick overview about the Microsoft Azure datacenters and there service status, and the new touch friendly dashboard also allows you to customize it for your need. You can check it out on portal.azure.com
    New Microsoft Azure Portal
  • I am not a developer but I was really impressed what Microsoft did for developers. They are just generating a huge numbers of new opportunities with their new platforms not only in Microsoft Azure using IaaS, mobile Services or PaaS, Microsoft also announced a new concept of Universal Apps which allows developers to write apps which run on Windows Phone, Windows and Xbox One. Some days ago Microsoft also showed the new Kinect v2 hardware which I hope developers will use to write some really cool stuff. If we have a lot back at Microsoft Azure, what I really liked about the new Portal is the  integration of Team Foundation Server or “team projects”.
    Microsoft Azure Team Projects

This are just a few of the cool new things Microsoft announced at Build 2014, there is a lot more which is definitely worth to talk about.



Install Sysinternals from PowerShell

More about PowerShell OneGet

As already posted and as you can see on my blog, I really like the new feature called OneGet. With the Windows Management Framework 5.0 Preview, Microsoft released a new PowerShell module which is called OneGet.

OneGet is a new way to discover and install software packages from around the web. The way how this works is that you can connect to repositories around the web or you can just add new repositories by your self for example for internal use. In the preview you have the Chocolatey repository connected. I am pretty sure Microsoft will also add some own repositories to the list, so you can install Microsoft software and packages from a trusted source.

You can get all the different repositories with the Get-PackageSource cmdlet.

Get-PackageSource

You can than list all the packages available for you by using Find-Package, or you could use it to find a specific package.

Find_package

If you have found the right package you can also see all the versions available by using the Find-Package <Package> -AllVersions cmdlet.

Find Package Versions

You can now install the version you need or you can just use the Install-Package cmdlet to install the latest available version.

OneGet PowerShell

After you have installed packages you can of course list them by using the Get-Package cmdlet or uninstall a package by using Uninstall-Package.

But this is not everything, another great thing about OneGet is that it can be integrated in PowerShell Desired State Configuration (DSC). So think about it for a moment, you can now create simple server configurations with DSC and you don’t have to think about software repositories at all, OneGet does handle this for you.

By the way, Garrett Serack (Senior Open Source Software Developer at Microsoft) also pointed out to me that OneGet also has a place on the Microsoft Open Source Software site CodePlex.

 

 



Install Sysinternals from PowerShell

Install Sysinternals from PowerShell via OneGet

Microsoft just announced the Windows Management Framework 5.0 Preview. The Windows Management Framework V5 preview adds some cool new feature called OneGet.

OneGet is a new way to discover and install software packages from around the web. With OneGet, you can:
  • Manage a list of software repositories in which packages can be searched, acquired, and installed
  • Search and filter your repositories to find the packages you need
  • Seamlessly install and uninstall packages from one or more repositories with a single PowerShell command

As I did some tests this is perfect to install new software packages very easily. So I started with one of my favorite tools called Sysinternals Suite.

Install Sysinternals from PowerShell

First I have check if there was a Sys internals Package available by using:

This checks online from different sources if there is a package available. After that I installed the package by using:

So this is really easy and guess what, it does not just work for Microsoft Software, there is a lot more of third party Software which can be installed with OneGet. So make sure you checkout the Windows Management Framework 5.0 Preview to get the new OneGet cmdlets.

 



OneGet PowerShell

Windows Management Framework V5 Preview

I know there is a lot of cool stuff going on right now and Microsoft announced a lot of new things. Like Windows Phone 8.1, Cortana, Windows 8.1 Update, Visual Studio 2013 Update 2, Windows Universal Apps, the Nokia Lumia 630, 635 and 930 and much much more. But there just was another announcement from Jeffrey Snover which is really interesting for us automation and management guys. Today Microsoft announced the Windows Management Framework 5.0 Preview, which brings some new stuff to PowerShell and PowerShell Desired State Configuration (DSC).

In the release 5.0 of the Windows Management Framework Microsoft did some work on DSC to make it more stable and reliable by addressing bug fixes, performance improvements and general optimizations. But there are coming the new feature to Windows PowerShell.

Windows PowerShell OneGet

OneGet is a new way to discover and install software packages from around the web. With OneGet, you can:
  • Manage a list of software repositories in which packages can be searched, acquired, and installed
  • Search and filter your repositories to find the packages you need
  • Seamlessly install and uninstall packages from one or more repositories with a single PowerShell command

Network Switches

Microsoft will offere a new PowerShell module which brings the possibility to manage Network Switches. In this release Microsoft added a set of L2 Layer NetworkSwitch management PowerShell cmdlets to manage Certified for Windows network switches. This effort was part of the Data Center Abstraction (DAL) vision which was led by Microsoft working closely with industry leaders in this space such as: Arista, Cisco and Huawei. Using Windows Server 2012 R2, network switches that pass the Certified for Windows program can now be managed natively by System Center Virtual Machine Manager 2012 R2 (SCVMM) without the need to write custom plugins.

I think this is not just a small announcement, this is a pretty big one to me.

Get more Information on the Windows Server Blog about the Windows Management Framework V5 Preview.



Distinguished Judges for the UCS Power Scripting Contest

Cisco UCS PowerShell Scripting Contest

In the Microsoft world PowerShell is the tool to automate everything especially in your datacenter. I already mentioned that Cisco offers some great enhancements for the Microsoft Datacenter stack. If you are using a Cisco UCS solution you can integrate System Center Virtual Machine Manager, Orchestrator and others. But Cisco does also offer a PowerShell module for the UCS called Cisco UCS PowerTool. The UCS PowerTool allows you to automate management and deployment tasks very easily via Windows PowerShell. By the way, one of the coolest features in the Cisco UCS PowerTool is the ConvertTo-UCScmdlet.

Cisco announced the UCS Power Scripting Contest

Everyone is invited to share their scripts and possibly win some prizes by entering the UCS Power Scripting Contest on the Cisco Communities.  The contest will run until May 11th.  A distinguished panel of judges (Jeffery Snover, Rob Willis, Don Jones, Hal Rottenberg and Thomas Maurer) along with other members of the community will select the grand prize winner from a set of five finalists.

Distinguished Judges for the UCS Power Scripting Contest

I am proud to be one of the Distinguished Judges for the UCS Power Scripting Contest and I hope we will see some great solutions. To get more information about the contest check out the Cisco Blog from Bill Shields and the UCS Power Scripting Contest website.



CLIXML Export Import

Save PowerShell Object to file for Remote Troubleshooting

This is not something new to the most of you PowerShell guys out there, but still there are a lot of IT Pros which do not know about this. Sometimes we have to do some remote troubleshooting without having access to the system itself. The thing you can do is to let the customer send you some screenshots but that doesn’t really show everything and maybe you have to contact the customer like 100 times to get the right information. A better solution is to let the customer to run a PowerShell command or script and send you the output. But even a text file or screenshot of the PowerShell output is not the best solution. If you get a lot of text in a TXT file it is hard to sort it and maybe there are some information missing because the txt output does not include all information of the PowerShell object.

I have started to use a simple method to export PowerShell objects to a XML file and import the object on another system. This can be done by the PowerShell cmdlets Export-Clixml and Import-Clixml.

What I do is, I tell the customer to run the following command to generate a XML with the PowerShell objects about his disks for example.

After I got this XML file, I can import it here on my local system and can work with it as I would be in front of the customer system.

CLIXML Export Import

As I said, this is nothing new but this can save you and your customer some time. Of course this works with other objects not just disks ;-) For example you can get Cluster Configurations, Hyper-V Virtual Switch Configurations and much more.

 

 



PowerShell NetAdpater Advanced Property

Hyper-V Network Virtualization NVGRE: No connection between VMs on different Hyper-V Hosts

I have worked on some project with Hyper-V Network Virtualization and NVGRE, and today I have seen an issue with Encapsulated Task Offloading on some HP Broadcom Network adapters.

 

Issue

I have Hyper-V Hosts running with 10GbE Broadcom Network Adapters (HP Ethernet 10Gb 2-port 530FLR-SFP+ Adapter) with driver version 7.8.52.0 (released in 2014). I have created a new VM Network based on Hyper-V Network Virtualization using NVGRE. VM1 is running on Host1 and VM2 is running on Host2. You can ping VM2 from VM1 but there is no other connection possible like SMB, RDP, HTTP or DNS. If you are using a NVGRE Gateway you can no even resolve DNS inside those VMs. If VM1 and VM2 are running on the same Hyper-V host everything between those VMs works fine.

Advanced Driver Settings

If you are using Server Core, which you should by the way, you can use the following command to check for those settings:

PowerShell NetAdpater Advanced Property

 

Resolution

The Broadcom Network adapters have a feature called Encapsulated Task Offloading which is enabled by default. If you disable Encapsulated Task Offloading everything works fine. You can disable it by using the following PowerShell cmdlet.

After that connection inside the VMs started to work immediately, no reboot needed.