<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>George Wallace's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/georgewallace/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/georgewallace/feed.xml</link>
    <description>Posts in this blog are provided &amp;quot;AS IS&amp;quot; with no warranties, and confers no rights as specified in the Terms of Use</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:28:50 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Introduction to Network Security Groups in Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/introduction-to-network-security-groups-in-azure</link>
      <pubDate>Fri, 08 Apr 2016 14:49:58 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2016/04/08/introduction-to-network-security-groups-in-azure/</guid>
      <description><![CDATA[Recently submitting this as an article and wanted to share it on my blog in case it might help...]]></description>
      <content:encoded><![CDATA[Recently submitting this as an article and wanted to share it on my blog in case it might help anyone.

Back in November of 2014 Microsoft announced the availability of Network Security Groups. In my day job I still find many people not knowing about Network Security Groups or not using them. Prior to network security groups all Access Control Rules (ACLs) were defined on the virtual machine itself. Network Security Groups came in providing a way to segment within a Virtual Network and control traffic that comes in and out of Virtual Machines but also subnets. This is critical when talking about multi-tiered applications. You can see the general idea in Figure 1. In this example the end user has access through the internet to the DMZ Subnet. This subnet would contain your front end web applications that the end users connect to. Data into this subnet would be filtered within an NSG, most likely you would allow http, and https traffic into this subnet, but not allow other ports that would not be necessary. From there the systems in the DMZ subnet can talk to the application subnet systems, these are your application servers that host your business processes and logic and the applications that talk directly to the database. Finally, the systems in the Application Subnet can talk to the systems in the data subnet, this would be port 1433 for example to talk to a SQL backend. In this diagram we show that there is blocked traffic between the DMZ subnet and the data subnet, this keeps the different components of the application separated. This also ensures that end users can not directly talk to the systems in the data subnet.

<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/clip_image002_016D898C.png"><img width="244" height="123" title="clip_image002" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border-width: 0px" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/clip_image002_thumb_5C6FC912.png" border="0" /></a>

Figure 1 NSG Example

The rules defined on an NSG are comprised of multiple components:

<b>Source IP</b> – This is a single IP or a range subnet of IPs in CIDR notation that the traffic will be allowed or denied from.

<b>Source Port</b> – A single port or multiple ports from the source that will be allowed or denied

<b>Destination IP - </b>This is a single IP or a range subnet of IPs in CIDR notation that the traffic will be allowed or denied to.<b></b>

<b>Destination Port</b> – A single port or multiple ports to the destination that will be allowed or denied

<b>Protocol – </b>The protocol to be allowed or denied (i.e TCP or UDP)

<b>Priority</b> – This is the order in which the rule will be applied, similar to Group Policy Objects if you are familiar with those.

These components along with traffic direction and access will be defined on all of the rules configured within a Network Security Group.

One thing to note with NSG’s is that are tied to a region so if you have resources in multiple regions you must create multiple NSGs.

Ok so now that you know a little bit about Network Security Groups, let’s create one!

First thing we must do is make sure we have the latest Azure PowerShell cmdlets which can be downloaded from here. <a href="https://azure.microsoft.com/en-us/downloads/">https://azure.microsoft.com/en-us/downloads/</a>. At the time of writing this article the version should be 1.0.4.

Another item to keep in mind while following these instructions is I have opted to leverage Azure Resource Manager or ARM to deploy my resources, this is the new format that will be used and is taking the place of the older Service Management cmdlets. These cmdlets are denoted with “RM” in the cmdlet. (i.e Add-Azure<b>RM</b>Account)

Once the module has been downloaded it is time to start making some magic. Run the following PowerShell commands in a script or PowerShell ISE. You will replace the Subscription name with your own subscription name. This PowerShell code will launch a login screen and allow you to login. One thing to keep in mind this is specific for Public Azure, if you are using Azure for Government you will have to add the Environment yourself (not covered in this article).

# Imports Azure Module

Import-Module Azure -Force

# Gets the environment for Public Azure

$env = Get-AzureRMEnvironment -Name AzureCloud

# Prompts for credentials based on that environment

Add-AzureRMAccount -Environment $env

# Selects the subscription to use.

Select-AzureRMSubscription -SubscriptionName "&lt;Your Subscription Name Here&gt;"

Now that you are in PowerShell and logged into your subscription we can continue, first thing we should do is create a Resource Group. Give the resource group a name and choose a location, this location as mentioned prior is important as the NSG we create will need to live in the same region.

# Creates a Resource Group to put our NSG in.

New-AzureRmResourceGroup -Name "ExampleVNETRG" -Location "East US"

Now we will create the Virtual Network, to keep your Azure environment clean we will create a new Virtual Network in our new resource group so it can be easily removed once you are done. Define your subnets, in this case my Virtual Network only has two subnets. The second command this piece of code does it create the virtual network with the subnets defined in the Subnet configs.

# Creates config for sample Subnet

$subnet1 = New-AzureRmVirtualNetworkSubnetConfig -Name "Subnet1" `

-AddressPrefix "192.168.1.0/25" `

$subnet2 = New-AzureRmVirtualNetworkSubnetConfig -Name "Subnet2" `

-AddressPrefix "192.168.1.128/25" `

# Creates Virtual Network in Resource Group with subnet defined prior

New-AzureRmVirtualNetwork -Name ExampleVnet `

-ResourceGroupName ExampleVNETRG `

-Location "East US" `

-AddressPrefix "192.168.1.0/24" `

-Subnet $subnet1,$subnet2

Now we have our Virtual Network defined with two different subnets we can start to work on our Network Security Group rules. We will create 2 rules one for http traffic and one for https traffic, rules work for individual ports or port ranges, hence the reason for the two rules.

#First rule for http traffic

$httprule = New-AzureRmNetworkSecurityRuleConfig `

-Name "FrontEnd_HTTP" `

-Description "HTTP Exception for Web frontends" `

-Protocol Tcp `

-SourcePortRange "80" `

-DestinationPortRange "80" `

-SourceAddressPrefix "*" `

-DestinationAddressPrefix "192.168.1.0/25" `

-Access Allow `

-Direction Inbound `

-Priority 200

# Second rule for https traffic

$httpsrule = New-AzureRmNetworkSecurityRuleConfig `

-Name "FrontEnd_HTTPS" `

-Description "HTTPS Exception for Web frontends" `

-Protocol Tcp `

-SourcePortRange "443" `

-DestinationPortRange "443" `

-SourceAddressPrefix "*" `

-DestinationAddressPrefix "192.168.1.0/25" `

-Access Allow `

-Direction Inbound `

-Priority 201

Now that we have the configs created for the 2 rules we can create the NSG with the two security rules defined prior with the code below.

# Creates a NSG based on the rules defined prior

$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName ExampleVNETRG -Location "East US" -Name "NSG-Example" `

-SecurityRules $httprule,$httpsrule

Creating the NSG is just one step we also have to apply the NSG to a subnet. The below code grabs the Virtual Network we created earlier and applies the NSG to the Virtual network, specifically Subnet1.

# Gets the Virtual network and applies the rules to the subnet created earlier.

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName ExampleVNETRG -Name ExampleVnet

Set-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name "Subnet1" `

-AddressPrefix 192.168.1.0/24 -NetworkSecurityGroup $nsg

The changes to the virtual network we created in the previous step just made the changes offline, we not have to update the virtual network with the following command

# Updates the Virtual Network in Azure

Set-AzureRmVirtualNetwork -VirtualNetwork $vnet

And that’s it, now any virtual machine that you put in Subnet1 will get the rules we defined above, you could add more rules and apply them later. Keep in mind if you define endpoints on your virtual machine NSG rules will override them, so for instance if you open up port 80 on an endpoint in a virtual machine, and have an NSG applied to the VM or the Subnet the VM is in and there is no allow rule for 80 traffic will not make it to the virtual machine.

Now that we have created the resources, let’s take a quick look at our Resource Group in the new Azure Portal. Here you can see the Resource Group with the NSG.

<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/clip_image004_739DD441.jpg"><img width="244" height="196" title="clip_image004" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border-width: 0px" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/clip_image004_thumb_27D1FD88.jpg" border="0" /></a>

And next if we look into our NSG and look at the inbound rules and can see the rules we created.

<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/clip_image006_62B93051.jpg"><img width="244" height="87" title="clip_image006" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/clip_image006_thumb_4BF9E8C8.jpg" border="0" /></a>

Once you are done you can easily remove everything we created by running the following command. This is one of the best parts of deploying resources with Resource Manager, is the ease of removing and adding resources.

Remove-AzureRmResourceGroup -Name ExampleVNETRG -Force]]></content:encoded>
    </item>
    <item>
      <title>Deploying a Website with Content through Visual Studio with Resource Groups</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/deploying-a-website-with-content-through-visual-studio-with-resource-groups</link>
      <pubDate>Sun, 10 May 2015 14:05:08 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2015/05/10/deploying-a-website-with-content-through-visual-studio-with-resource-groups/</guid>
      <description><![CDATA[UPDATED: This post has been updated to reflect the recent changes.
If you are like me you were...]]></description>
      <content:encoded><![CDATA[<p>UPDATED: This post has been updated to reflect the recent changes.</p>
<p>If you are like me you were glued to the computer watching all of the Build and Ignite sessions, what an exciting couple weeks.&nbsp; One of the great things that came out was the Azure SDK 2.6 for .NET.&nbsp; With this we got..</p>
<ul>
<li>Azure Resource Manager Tools</li>
<li>Diagnostics improvements for Cloud Services</li>
<li>Azure App Service Tools</li>
<li>HDInsight tools</li>
</ul>
<p>I am going to focus on Resource Manager Tools.&nbsp; If you have not played with Azure Resource Manager (ARM) you are missing out, it has some great features over the existing Service Management tools.&nbsp; One of these is being able to deploy resource groups, now you may be saying well Resource Groups have been around for a while.&nbsp; While that is the case there is a lot of great new things that were announced.&nbsp; The new v2 versions of VMs, Storage Accounts, Network adapters.. these are all amazing things.</p>
<p>In this blog though I am going to take you through deploying a full functional website leveraging Resource Groups, Visual Studio and WebDeploy.</p>
<p>Before starting visit the download site <a title="https://azure.microsoft.com/en-us/downloads/" href="https://azure.microsoft.com/en-us/downloads/">https://azure.microsoft.com/en-us/downloads/</a> to download the SDK for your version of Visual Studio.</p>
<p><strong><span style="text-decoration:underline;">Create your web content</span></strong></p>
<p>For the sake of the blog I will step you through creating example content for your site, for this you will need to launch Visual Studio, Create a new ASP.NET Web Application.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_09115721.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_09115721.png"><img width="589" height="336" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_3D458067.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_3D458067.png" border="0" /></a></p>
<p>For this example lets choose Web API which should be the default and click OK. While you may be tempted to click Host in the cloud, leave that unchecked for now.&nbsp; Visual Studio does a great job of deploying websites to Azure and adding Application Insights, but we are going to do it differently.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_6D6F5BDB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_6D6F5BDB.png"><img width="525" height="397" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_5ABA6224.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_5ABA6224.png" border="0" /></a></p>
<p>Now lets right click the Project name and click Publish, for the publish target click Custom and give it a name and click Ok</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_2F099828.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_2F099828.png"><img width="419" height="179" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_4CEAACDA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_4CEAACDA.png" border="0" /></a></p>
<p>For the Publish method we are going to choose a Web Deploy Package, this way we can save the package offline on our system and use that to deploy out our site, choose a Package location and give your site a name, finally click Publish.&nbsp; Now note where you saved that package as we are going to use it a little later.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_657A4A2A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_657A4A2A.png"><img width="465" height="369" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_67B6D2E6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_67B6D2E6.png" border="0" /></a></p>
<p><strong><span style="text-decoration:underline;">Create your Resource Group Project</span></strong></p>
<p>Keeping that existing solution opened we created, create a new Project in the solution by Right Clicking the solution, choose Add then New Project&hellip;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_02EF2BE8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_02EF2BE8.png"><img width="485" height="327" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_4C14D7A1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_4C14D7A1.png" border="0" /></a></p>
<p>Choos Visual C#, Cloud and Azure Resource Group, give your project a name and click OK this will create another project in our solution specifically for our Resource Group.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_28B27534.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_28B27534.png"><img width="446" height="310" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_19A0B7BC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_19A0B7BC.png" border="0" /></a></p>
<p>Now there is already a template for Web App here, but I am going to take you through creating this from a blank template so you get a better understanding of the capabilities. Find Blank Template and click OK.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_1D51AFB0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_1D51AFB0.png"><img width="444" height="340" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_66775B69.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_66775B69.png" border="0" /></a></p>
<p>Expand out the Templates folder and double click DeploymentTemplate.json, and a basically empty json document will open, here it has the major components to a Resource Group Template</p>
<ul>
<li>Parameters &ndash; These will be used to pass data into your Resource Group Template Deployment</li>
<li>Variables &ndash; These help will defining variables that can be used to define values you may reuse</li>
<li>Resources &ndash; These are the resources that you will be adding to the resource group (NICS, VMs, Websites, etc)</li>
<li>Output &ndash; This is for defining any output that you may have.</li>
</ul>
<p>All of these items are shown as well in the left panel in the JSON Outline window.&nbsp; These will be our graphical representation of our JSON file. Go ahead and click the cube with the plus sign to add a Resource.&nbsp; For the Website we are going to create we need 4 different items.</p>
<ul>
<li>App Service Plan</li>
<li>Application Insights for Web Apps</li>
<li>Web App</li>
<li>Web Deploy for Web Apps</li>
</ul>
<p>First Choose the App Service Plan (Server Farm) give it a name and click Add</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_68B3E425.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_68B3E425.png"><img width="441" height="335" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_1CE80D6C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_1CE80D6C.png" border="0" /></a></p>
<p>You will see in the outline by adding that Resource we now have 1 Resource and 4 Parameters.. These parameters come with the App Service Plan Template</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_10E61D38.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_10E61D38.png"><img width="304" height="209" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_05505FF9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_05505FF9.png" border="0" /></a></p>
<p>If you click on any of the Parameters it will focus the DeploymentTemplate.json file to the item you clicked. As you notice those parameters have their definitions, all are string values, but the SerferFarmSKU and ServerFarmWorkerSize have defined values they can be.&nbsp; This is useful to force people when reusing your template to make sure they put in correct values.&nbsp; For instance the SKU relates to the type of website, in Azure we have Free Shared, Basic and Standard.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_40A3C5B7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_40A3C5B7.png"><img width="541" height="465" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_22C541B6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_22C541B6.png" border="0" /></a></p>
<p>There is nothing left to do now for the App Service Plan so lets move on to the Web App.&nbsp; Click the Cube with a plus in the JSON Outline window and choose a Web App this time, give it a name, now you will notice since your file already has a Service Plan it will be automatically selected.&nbsp; This is great as it will build out your dependencies for you in the JSON Template file.&nbsp; Once you are done go ahead and click Add</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_32D4106D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_32D4106D.png"><img width="505" height="384" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_391AE6FB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_391AE6FB.png" border="0" /></a></p>
<p>So now if we wanted to deploy it now we could and have a basic website.&nbsp; But remember we created that Web Deploy Package earlier.&nbsp; Lets get that Web Deploy Package as well.&nbsp; Click the cube with the plus sign and choose Web Deploy for Web Apps.&nbsp; Give it a name and just as before the dependencies, in this case a Web App was already selected.&nbsp; Now just click Add</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_3B576FB7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_3B576FB7.png"><img width="513" height="390" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_28A27600.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_28A27600.png" border="0" /></a></p>
<p>By now if you look in the JSON Outline we have some more items for the Web App and the Web Deploy for Web Apps. Take note that the Web Deploy for Web Apps is nested under the WebApp, it is a child in the hierarchy.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_0AC3F1FF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_0AC3F1FF.png"><img width="340" height="370" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_6CE56DFD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_6CE56DFD.png" border="0" /></a></p>
<p>Now we need to get that Web Deploy Package we created earlier where it needs to be. First we need to quickly Build what we have so far.&nbsp; On the Menu click Built and then Build Solution.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_4134A401.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_4134A401.png"><img width="337" height="209" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_2A755C78.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_2A755C78.png" border="0" /></a></p>
<p>Once the build is done we will right click the Project and choose Open Folder in File Explorer, when the folder opens navigate to bin\Debug\Artifacts\&lt;Project Name&gt;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_69D31008.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_69D31008.png"><img width="300" height="346" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_4BF48C07.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_4BF48C07.png" border="0" /></a></p>
<p>Navigate to where you saved your Web Deploy Package and paste it in this folder. This file needs to be in the folder as when you deploy the deployment script will look in this folder for any artifacts and can deploy them to a storage account to be referenced later by the script later.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_4C071BEC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_4C071BEC.png"><img width="602" height="134" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_6AE0207B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_6AE0207B.png" border="0" /></a></p>
<p>Now we will go ahead and add Application Insights to the Web App, again click the cube with the plus signs, this time choose Application Insights for Web Apps.&nbsp; Give it a Name and as noted before since we only have one App Service Plan and one Web App they are already preselected. Then click Add to add it to our resource group</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_3DB8A3C8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_3DB8A3C8.png"><img width="459" height="349" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_7FBF1309.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_7FBF1309.png" border="0" /></a></p>
<p>For the sake of this blog post we wont modify the JSON but as you can see it added a few predefined settings for AppInsights, CPU, Queues, Server Errors, etc to be monitored.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_0D252610.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_0D252610.png"><img width="249" height="338" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_6F46A20E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_6F46A20E.png" border="0" /></a></p>
<p>Now we are just about ready to deploy. In the Solution Explorer, right click your project, choose deploy and New Deployment&hellip;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_7A068A14.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_7A068A14.png"><img width="331" height="200" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_7C4312D0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_7C4312D0.png" border="0" /></a></p>
<p>When the window pops up if not already signed in click the Sign In button</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_70AD5591.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_70AD5591.png"><img width="303" height="248" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_39D3014B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_39D3014B.png" border="0" /></a></p>
<p>Once you are signed in, choose your subscription, you could add this to an existing Resource Group but we will add it to a new one for the sake of the blog post.&nbsp; Pull down the drop down on Resource Group and choose &lt;Create New&hellip;&gt;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_0E22374F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_0E22374F.png"><img width="361" height="336" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_1B884A55.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_1B884A55.png" border="0" /></a></p>
<p>Give the Resource Group a name and choose a location, we will use this location later as well.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_28EE5D5B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_28EE5D5B.png"><img width="244" height="184" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_1D58A01C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_1D58A01C.png" border="0" /></a></p>
<p>Choose a Storage account for your Artifacts, in this case our Web Deploy package, this can not be created on the fly it must be an existing one in your subscription.&nbsp; When you are ready click Deploy.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_3CF55E74.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_3CF55E74.png"><img width="442" height="391" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_5E748E03.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_5E748E03.png" border="0" /></a></p>
<p>When you click deploy you will get an Edit Parameters window.&nbsp; In here we need to fill in the parameters.&nbsp; These could be updated in your azuredeploy.parameters.json file, but since we just have a few options we will fill it out by hand.&nbsp; As you can see the SKU and Worker Size we saw earlier are drop down boxes, that is because we allowed it to have a few different values.&nbsp; Since we put our Web Deploy package in the main folder, put in your Project name, this folder will be created by default, if you were to make a sub folder you could enter it as &lt;ProjectName&gt;\&lt;Myfolder&gt;. Fill out the fields and click Save</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_551B5980.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_551B5980.png"><img width="474" height="306" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_402C67BE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_402C67BE.png" border="0" /></a></p>
<p>When you are done you will see output similar to below.</p>
<p><span style="font-family:Courier New;">20:39:02 - Build started.<br />20:39:02 &ndash; Project &quot;MyAwesomeWebsiteResourceGroup.deployproj&quot; (StageArtifacts target(s)):<br />20:39:02 - Project &quot;MyAwesomeWebsiteResourceGroup.deployproj&quot; (ContentFilesProjectOutputGroup target(s)):<br />20:39:02 - Done building project &quot;MyAwesomeWebsiteResourceGroup.deployproj&quot;.<br />20:39:02 - Done building project &quot;MyAwesomeWebsiteResourceGroup.deployproj&quot;.<br />20:39:02 - Build succeeded.<br />20:39:02 - The following parameter values will be used for this deployment:<br />20:39:02 -&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsiteServerFarmName: MyAwesomeWebsite<br />20:39:02 -&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsiteServerFarmSKU: Free<br />20:39:02 -&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsiteServerFarmWorkerSize: 0<br />20:39:02 -&nbsp;&nbsp;&nbsp;&nbsp; _artifactsLocation: <br />20:39:02 -&nbsp;&nbsp;&nbsp;&nbsp; _artifactsLocationSasToken: &lt;securestring&gt;<br />20:39:02 -&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsiteWebDeployPackageFolder: MyAwesomeWebsiteResourceGroup<br />20:39:02 -&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsiteWebDeployPackageFileName: MyAwesomeWebSite.zip<br />20:39:02 - Launching deployment PowerShell script with the following command:<br />20:39:02 - &#39;c:\users\username\documents\visual studio 2015\projects\myawesomewebsiteresourcegroup\myawesomewebsiteresourcegroup\Scripts\Deploy-AzureResourceGroup.ps1&#39; -StorageAccountName &#39;azril302gvbf&#39; -ResourceGroupName &#39;azril302nbv&#39; -ResourceGroupLocation &#39;eastus&#39; -TemplateFile &#39;c:\users\username\documents\visual studio 2015\projects\myawesomewebsiteresourcegroup\myawesomewebsiteresourcegroup\templates\azuredeploy.json&#39; -TemplateParametersFile &#39;c:\users\username\documents\visual studio 2015\projects\myawesomewebsiteresourcegroup\myawesomewebsiteresourcegroup\templates\azuredeploy.parameters.json&#39; -ArtifactStagingDirectory &#39;..\bin\Debug\staging&#39; -UploadArtifacts -StorageAccountResourceGroupName &#39;azril302nbv&#39;<br />20:39:09 - <br />20:39:09 - <br />20:39:09 - Environment&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : AzureCloud<br />20:39:09 - Account&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </span><a href="mailto:username@live.com"><span style="font-family:Courier New;">username@live.com</span></a><br /><span style="font-family:Courier New;">20:39:09 - TenantId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx<br />20:39:09 - SubscriptionId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx<br />20:39:09 - CurrentStorageAccount : <br />20:39:09 - <br />20:39:54 - <br />20:39:54 - Transfer summary:<br />20:39:54 - -----------------<br />20:39:54 - Total files transferred: 10<br />20:39:54 - Transfer successfully:&nbsp;&nbsp; 10<br />20:39:54 - Transfer failed:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />20:39:54 - Elapsed time:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00.00:00:41<br />20:39:54 - </span><a href="https://azril302gvbf.blob.core.windows.net/azril302nbv-stageartifacts"><span style="font-family:Courier New;">https://azril302gvbf.blob.core.windows.net/azril302nbv-stageartifacts</span></a><br /><span style="font-family:Courier New;">20:39:55 - [VERBOSE] 8:39:55 PM - Created resource group &#39;azril302nbv&#39; in location &#39;eastus&#39;<br />20:39:56 - <br />20:39:56 - ResourceGroupName : azril302nbv<br />20:39:56 - Location&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : eastus<br />20:39:56 - Resources&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : {bob0, bob2, CPUHigh MyAwesomeWebsite, CPUHigh <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qq2w43141245125...}<br />20:39:56 - ResourcesTable&nbsp;&nbsp;&nbsp; : <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Location&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =============================================&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =======================================&nbsp; ==============<br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bob0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Compute/virtualMachines&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bob2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Compute/virtualMachines&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPUHigh MyAwesomeWebsite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPUHigh qq2w43141245125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; microsoft.insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ForbiddenRequests georgenugettestdave&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; microsoft.insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ForbiddenRequests MyAwesomeWebSiteAppInsights&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LongHttpQueue MyAwesomeWebsite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LongHttpQueue qq2w43141245125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; microsoft.insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerErrors georgenugettestdave&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; microsoft.insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerErrors MyAwesomeWebSiteAppInsights&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Insights/alertrules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsite-azril302nbv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Insights/autoscalesettings&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qq2w43141245125-azril302nbv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; microsoft.insights/autoscalesettings&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; georgenugettestdave&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; microsoft.insights/components&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; centralus&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebSiteAppInsights&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Insights/components&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; centralus&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nic0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Network/networkInterfaces&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nic2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Network/networkInterfaces&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; asdasd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Network/networkSecurityGroups&nbsp; northcentralus<br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicIP0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Network/publicIPAddresses&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; publicIP2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Network/publicIPAddresses&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1qa2sanetwork&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Network/virtualNetworks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; azril302gvbf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Storage/storageAccounts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Web/serverFarms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qq2w43141245125&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Web/serverFarms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; georgenugettestdave&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Web/sites&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsitepjeak2lppue2k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft.Web/sites&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eastus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:39:56 - ProvisioningState : Succeeded<br />20:39:56 - Tags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : {}<br />20:39:56 - TagsTable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <br />20:39:56 - ResourceId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : /subscriptions/590d019c-bc64-4ce4-a118-002c35d4086b/resourc<br />20:39:56 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eGroups/azril302nbv<br />20:39:56 - <br />20:40:01 - [VERBOSE] 8:40:01 PM - Create template deployment &#39;azuredeploy-0323-0239&#39;.<br />20:40:04 - [VERBOSE] 8:40:04 PM - Resource Microsoft.Web/serverfarms &#39;MyAwesomeWebsite&#39; provisioning status is succeeded<br />20:40:09 - [VERBOSE] 8:40:09 PM - Resource Microsoft.Insights/alertrules &#39;CPUHigh MyAwesomeWebsite&#39; provisioning status is succeeded<br />20:40:09 - [VERBOSE] 8:40:09 PM - Resource Microsoft.Insights/alertrules &#39;LongHttpQueue MyAwesomeWebsite&#39; provisioning status is succeeded<br />20:40:09 - [VERBOSE] 8:40:09 PM - Resource Microsoft.Insights/autoscalesettings &#39;MyAwesomeWebsite-azril302nbv&#39; provisioning status is succeeded<br />20:40:55 - [VERBOSE] 8:40:55 PM - Resource Microsoft.Web/sites &#39;MyAwesomeWebsitepjeak2lppue2k&#39; provisioning status is succeeded<br />20:41:02 - [VERBOSE] 8:41:02 PM - Resource Microsoft.Insights/alertrules &#39;ForbiddenRequests MyAwesomeWebSiteAppInsights&#39; provisioning status is succeeded<br />20:41:05 - [VERBOSE] 8:41:05 PM - Resource Microsoft.Insights/alertrules &#39;ServerErrors MyAwesomeWebSiteAppInsights&#39; provisioning status is succeeded<br />20:41:05 - [VERBOSE] 8:41:05 PM - Resource Microsoft.Web/sites/extensions &#39;MyAwesomeWebsitepjeak2lppue2k/MSDeploy&#39; provisioning status is running<br />20:41:05 - [VERBOSE] 8:41:05 PM - Resource Microsoft.Insights/components &#39;MyAwesomeWebSiteAppInsights&#39; provisioning status is succeeded<br />20:41:11 - [VERBOSE] 8:41:11 PM - Resource Microsoft.Web/sites/extensions &#39;MyAwesomeWebsitepjeak2lppue2k/MSDeploy&#39; provisioning status is succeeded<br />20:41:15 - <br />20:41:15 - DeploymentName&nbsp;&nbsp;&nbsp;&nbsp; : azuredeploy-0323-0239<br />20:41:15 - CorrelationId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 9bd2d07e-56b5-4c67-8d05-6849a35f366e<br />20:41:15 - ResourceGroupName&nbsp; : azril302nbv<br />20:41:15 - ProvisioningState&nbsp; : Succeeded<br />20:41:15 - Timestamp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 3/23/2016 2:41:10 AM<br />20:41:15 - Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Incremental<br />20:41:15 - TemplateLink&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <br />20:41:15 - TemplateLinkString : <br />20:41:15 - Parameters&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : {[myAwesomeWebsiteServerFarmName, Microsoft.Azure.Commands<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Resources.Models.DeploymentVariable], <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [myAwesomeWebsiteServerFarmSKU, Microsoft.Azure.Commands.R<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; esources.Models.DeploymentVariable], <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [myAwesomeWebsiteServerFarmWorkerSize, Microsoft.Azure.Com<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mands.Resources.Models.DeploymentVariable], <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [_artifactsLocation, Microsoft.Azure.Commands.Resources.Mo<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dels.DeploymentVariable]...}<br />20:41:15 - ParametersString&nbsp;&nbsp; : <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Value&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ===============&nbsp; =========================&nbsp; ==========<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myAwesomeWebsiteServerFarmName&nbsp; String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsite<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myAwesomeWebsiteServerFarmSKU&nbsp; String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Free&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myAwesomeWebsiteServerFarmWorkerSize&nbsp; String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _artifactsLocation&nbsp; String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><a href="https://azr"><span style="font-family:Courier New;">https://azr</span></a><br /><span style="font-family:Courier New;">20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; il302gvbf.blob.core.windows.net/azril302nbv-stageartifacts<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _artifactsLocationSasToken&nbsp; SecureString&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myAwesomeWebsiteWebDeployPackageFolder&nbsp; String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebsiteResourceGroup<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myAwesomeWebsiteWebDeployPackageFileName&nbsp; String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAwesomeWebSite.zip<br />20:41:15 -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />20:41:15 - Outputs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : {}<br />20:41:15 - OutputsString&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <br />20:41:15 - <br />20:41:16 - <br />20:41:16 - <br />20:41:16 - <br />20:41:16 - Successfully deployed template &#39;c:\users\username\documents\visual studio 2015\projects\myawesomewebsiteresourcegroup\myawesomewebsiteresourcegroup\templates\azuredeploy.json&#39; to resource group &#39;azril302nbv&#39;.</span></p>
<p>When it is done give it a few minutes for the web deploy to finish and then navigate to your website&hellip; you will see the .net example we deployed is now there.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_05C3835A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_05C3835A.png"><img width="569" height="385" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_13299660.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_13299660.png" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/9937/00/00/03/64/93/10/MyAwesomeWebsiteResourceGroup.zip" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-9937-00-00-03-64-93-10/MyAwesomeWebsiteResourceGroup.zip">MyAwesomeWebsiteResourceGroup.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Service Manager Launch Pad – Efficiency Management Pack for Service Desks</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/service-manager-launch-pad-efficiency-management-pack-for-service-desks</link>
      <pubDate>Mon, 05 Jan 2015 15:16:09 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2015/01/05/service-manager-launch-pad-efficiency-management-pack-for-service-desks/</guid>
      <description><![CDATA[Many Service Manager Customers experience challenges when Customers call their Service Desks, they...]]></description>
      <content:encoded><![CDATA[<p>Many Service Manager Customers experience challenges when Customers call their Service Desks, they are not sure whether the Customer needs a Service Request or Incident to be created.&nbsp; The scenario from a Service Desk representative perspective is that you first click on Create Incident, then you capture the Caller’s information and enter information in the Title and description, and at this point you realize that they want a new Service and you should have created a Service Request.&nbsp; You would have to cancel the Incident and create a Service Request, thus resulting in time lost and asking the Customer the same information over again.&nbsp; The current functionality in Service Manager does not enable an efficient or quick way to change an Incident into a Service Request without a duplicate record.&nbsp;&nbsp;&nbsp;&nbsp; <p>This scenario happens all the time and I created&nbsp; the Launch Pad Management Pack Bundle that allows you to collect some critical data, title, description, user, prior to opening an incident or service request.&nbsp; This timesaving Management Pack is a great “FREE” add in for Helpdesks and Support staff as this is usually the case when handling inbound calls from Customers (do they have an Incident – something that is broken, or are they asking for more IT – a Service Request) <p>The Launch Pad application adds a task called “Open Launch Pad” for Service Requests and Incidents.&nbsp; The Launch Pad interface enables you to pick a user, enter in the title and the description and as you gather this necessary information you can use the radio button to either create an Incident or a Service Request.&nbsp; This solution allows you to choose pre-defined templates and then create the incident or service request record.&nbsp; When you hit submit it will launch the incident or service request in a new window.&nbsp; <p>This solution is free and it currently supports templates only and not Request Offerings for Service Requests.&nbsp; The solution has also been localized to Italian, Dutch, Turkish, Spanish, Portuguese, German, Hungarian, Chinese (Simplified and Traditional), Danish and French.  <p>I would like to thank my colleagues below for providing the localization of this management pack bundle.  <p>Thierry Thomas<br />Viktor Benkovics<br />Milton Nucci<br />Markus Klein<br />Bahadir Onalan<br />Sander Brokke<br />Donato Pasqualicchio<br />Jonathan Liu<br />Thomas Ellermann  <p>And a huge thanks to Kathleen Wilson for helping orchestrate much of this. <p>The Management Pack Bundle can be found at the TechNet Gallery <a title="https://gallery.technet.microsoft.com/LaunchPad-for-System-1877fe27" href="https://gallery.technet.microsoft.com/LaunchPad-for-System-1877fe27">https://gallery.technet.microsoft.com/LaunchPad-for-System-1877fe27</a> <p><img alt=" " src="https://gallery.technet.microsoft.com/site/view/file/132045/1/launchpad.png" width="414" height="375" /></p></p></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Service Request Reports for System Center Service Manager 2012</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/service-request-reports-for-system-center-service-manager-2012</link>
      <pubDate>Tue, 18 Nov 2014 11:40:24 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2014/11/18/service-request-reports-for-system-center-service-manager-2012/</guid>
      <description><![CDATA[So where are the Service Request reports????&nbsp; If you use Service Manager for Service Requests,...]]></description>
      <content:encoded><![CDATA[<p>So where are the Service Request reports????&nbsp; If you use Service Manager for Service Requests, you are scratching your head why you can’t see any reports for Service Requests in the Console.&nbsp; I am a huge fan of leveraging BI and the Service Manager Cubes for my reporting but many people still want out of the box reports, in the console for Service Requests.&nbsp; Leveraging SSRS reporting, I built common requested reports from my Customers and leveraged the Incident reports to do it. <p>I ported over the Incident Reports to the Service Request reports and loaded it up into a Management Pack bundle so you can import them into your environment and get some Service Request Reports showing up quickly.&nbsp; These will make sure that you close the gap for console reports for Service Requests and give you a little more time to develop deeper OLAP cube reports for Service Requests.&nbsp;&nbsp; <p></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_177FE713.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_177FE713.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_29CB3E86.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_29CB3E86.png" width="949" height="315" /></a></p> <p>There are 3 reports <p>List of Service Requests – Lists all the Service Requests for the Report Criteria <p>Service Request Details – Details on a Specific Service Request <p>Service Request KPI Trend – Provides trending data to backlogged Service Requests <p>These 3 reports, match up to 3 of the 5 Incident reports that currently exist.&nbsp; There was no reason to port over the Analyst Report as Service Requests are meant to have activities and they close out the Service Request once complete, therefore the Activity Management reports that are OOB can provide the Analyst tracking.&nbsp; The Incident Resolution Report was not ported over as well for the same reason, but if you need it, this is an easy fix and leave a comment below and I will add it in a future release. <p>The Management Pack is completely localized so would be easy to implement other languages, if you feel like you can assist in translating the info to another language and want to help out with a language pack please reach out to me as well. <p>List of Service Requests Report <p></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_3901A753.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_3901A753.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_6448CF0B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_6448CF0B.png" width="927" height="569" /></a> </p> <p>Service Request Details</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_737F37D8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_737F37D8.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_4BDB4C5F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_4BDB4C5F.png" width="923" height="602" /></a> </p> <p>Service Request KPI</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_7479B866.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_7479B866.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_5943F016.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_5943F016.png" width="926" height="549" /></a> </p> <p></p> <p>The reports can be found on the TechNet gallery at <a title="https://gallery.technet.microsoft.com/System-Center-Service-8aa67c49" href="https://gallery.technet.microsoft.com/System-Center-Service-8aa67c49">https://gallery.technet.microsoft.com/System-Center-Service-8aa67c49</a></p></p></p></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Using SelectSingleNode in PowerShell with XML Namespace (Azure VNetConfig)</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/using-selectsinglenode-in-powershell-with-xml-namespace-azure-vnetconfig</link>
      <pubDate>Thu, 13 Nov 2014 08:17:45 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2014/11/13/using-selectsinglenode-in-powershell-with-xml-namespace-azure-vnetconfig/</guid>
      <description><![CDATA[So, been doing a lot of work in Azure lately and having to solve problems I have not had to deal...]]></description>
      <content:encoded><![CDATA[<p>So, been doing a lot of work in Azure lately and having to solve problems I have not had to deal with before.&nbsp; As you know the Network Configuration for Azure if not done through the portal is done through an XML file. Below is an example of an XML file exported from Azure with the command get-azurevnetconfig –ExportToFile c:\test\network.xml </p><pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;NetworkConfiguration  &gt;
  &lt;VirtualNetworkConfiguration&gt;
    &lt;Dns /&gt;
    &lt;VirtualNetworkSites&gt;
      &lt;VirtualNetworkSite name=&quot;test&quot; Location=&quot;East US&quot;&gt;
        &lt;AddressSpace&gt;
          &lt;AddressPrefix&gt;192.168.1.0/24&lt;/AddressPrefix&gt;
        &lt;/AddressSpace&gt;
        &lt;Subnets&gt;
          &lt;Subnet name=&quot;Subnet-1&quot;&gt;
            &lt;AddressPrefix&gt;192.168.1.0/24&lt;/AddressPrefix&gt;
          &lt;/Subnet&gt;
         &lt;/Subnets&gt;
      &lt;/VirtualNetworkSite&gt;
     &lt;/VirtualNetworkSites&gt;
  &lt;/VirtualNetworkConfiguration&gt;
&lt;/NetworkConfiguration&gt; </pre>
<p>So let’s say you want to update the AddressPrefix for the Virtual Network Site test.  So you load the xml file into a variable. [xml] $azurenetconfig = get-content -path &quot;$PWD\network.xml&quot;</p>
<p>With PowerShell and XML you should be able to run the following command and get data back. But you get no data back… why is that?</p>
<p>$network.SelectSingleNode(&quot;//VirtualNetworkSite[@name=&#39;test&#39;]&quot;)</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_1107AB1A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_1107AB1A.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_40C55399.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_40C55399.png" width="680" height="193" /></a> </p>
<p>By reading MSDN <a title="https://msdn.microsoft.com/en-us/library/h0hw012b(v=vs.110).aspx" href="https://msdn.microsoft.com/en-us/library/h0hw012b(v=vs.110).aspx">https://msdn.microsoft.com/en-us/library/h0hw012b(v=vs.110).aspx</a> you can see that when dealing with XML that has a namespace you must specify the namespace.</p>
<p>So for this command to work we must define the namespace, that is done in the commands below.</p><pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">$ns = New-Object System.Xml.XmlNamespaceManager($network.NameTable)
$ns.AddNamespace(&quot;ns&quot;, $network.DocumentElement.NamespaceURI)</pre>
<p>Now we need to run the same SelectSingleNode method but with the namespace defined.</p>
<p>$network.SelectSingleNode(&quot;//ns:VirtualNetworkSite[@name=&#39;test&#39;]&quot;, $ns)</p>
<p>Now you can see we actually get data back.&nbsp; Hope this helps someone that might be struggling with this or leveraging any XML with a namespace</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_05084B97.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_05084B97.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_52384522.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_52384522.png" width="760" height="102" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Shutting down a Azure VM with Azure Automation</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/shutting-down-a-azure-vm-with-azure-automation</link>
      <pubDate>Wed, 05 Nov 2014 12:32:37 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2014/11/05/shutting-down-a-azure-vm-with-azure-automation/</guid>
      <description><![CDATA[Recently I was asked how to shut down an Azure VM with Azure Automation, it can be a slightly...]]></description>
      <content:encoded><![CDATA[<p>Recently I was asked how to shut down an Azure VM with Azure Automation, it can be a slightly daunting task, due to the fact that you have to use credentials whether or not its a certificate or PSCredentials.. So figured I would write up a post to show how to do this with PSCredentials.</p> <h2> Creating the account</h2> <p>In order to use PSCredentials instead of a certificate, we need an account to use. Lets start by creating an account. </p> <p>Log into the Azure Management Portal and click on Settings.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_07B47836.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_07B47836.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_7C1EBAF6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_7C1EBAF6.png" width="221" height="244" /></a>&nbsp;</p> <p>Take note of the Directory listed for your subscription, this is important because you could have multiple Azure Active Directories configured.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_7E5B43B2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_7E5B43B2.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_16EAE103.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_16EAE103.png" width="695" height="136" /></a> </p> <p>Next click on Active Directory on the side bar.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_2B703081.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_2B703081.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_54E70272.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_54E70272.png" width="202" height="244" /></a> </p> <p>Click the Arrow next to the Name of the Azure Active Directory you saw in the Settings tab earlier.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_1444B603.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_1444B603.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_41C5D5C6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_41C5D5C6.png" width="748" height="159" /></a> </p> <p>Click on Users and then click Add User at the bottom of the page.</p> <p>Follow the wizard by choosing “New user in your organization” as a type of user, give the user a username, click the right arrow</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_7FC1F735.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_7FC1F735.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_0608CDC4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_0608CDC4.png" width="479" height="378" /></a> </p> <p>Now define the profile components for the account, fill out the appropriate information (First Name, Last Name, Display Name) for the Role choose User</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_1A8E1D42.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_1A8E1D42.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_610B0D4A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_610B0D4A.png" width="485" height="387" /></a> </p> <p>Finally on the last page click Create</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_237DAF81.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_237DAF81.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_25BA383D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_25BA383D.png" width="492" height="390" /></a> </p> <p>On the next page you will be presented with a temporary password for the user. At this point go to <a href="https://azure.microsoft.com">https://azure.microsoft.com</a> and log into the Management Portal with the user created, you will be prompted to change the password.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_610D9DFB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_610D9DFB.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_005044CF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_005044CF.png" width="497" height="394" /></a> </p> <p>Next go back to the Azure Management Portal with your administrator credentials and click Settings –&gt; Administrators and click Add</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_42C2E705.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_42C2E705.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_1DC5268C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_1DC5268C.png" width="498" height="522" /></a> </p> <p>Type in the email address of the account you created, choose the subscription they should be part of and click the Check box.&nbsp; The Automation Account needs administrator rights to run.</p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_54A20B83.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_54A20B83.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_68BB280C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_68BB280C.png" width="502" height="346" /></a> </p> <h2></h2> <h2>Configuring Automation</h2> <p>Now we are ready to configure the automation, it is assumed that you have already created an Azure Automation account for the following steps. Click the Automation tab on the left of the Management Portal and click the arrow next to your Automation Account</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_1CEF5153.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_1CEF5153.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_11599414.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_11599414.png" width="591" height="261" /></a> </p> <p>Click Assets and click Add Setting at the bottom</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_3A643310.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_3A643310.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_35817F54.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_35817F54.png" width="593" height="475" /></a> </p> <p>For the Setting choose Add Credential</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_42E7925A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_42E7925A.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_19DF840F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_19DF840F.png" width="417" height="290" /></a> </p> <p></p> <p>For the Credential Type choose Windows PowerShell Credential and give the credential a name, click the right arrow.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_5532E9CD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_5532E9CD.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_6298FCD3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_6298FCD3.png" width="505" height="323" /></a> </p> <p>Now put in the username and password for the account we created earlier, and click the Checkbox</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_2BBEA88D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_2BBEA88D.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_46F7018E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_46F7018E.png" width="470" height="305" /></a> </p> <p>&nbsp;</p> <p>Now from the bottom left corner of the screen click the Plus sign , choose Automation, Runbook, and Quick Create.&nbsp; Give the runbook a good name and description and click Create</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_2D8EFE54.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_2D8EFE54.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_68E26412.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_68E26412.png" width="685" height="302" /></a> </p> <p></p> <p>Next click the Arrow next to the newly created runbook to go to the runbook details.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_3CC56721.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_3CC56721.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_26061F98.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_26061F98.png" width="735" height="156" /></a> </p> <p>Click Author and now we are ready to create the runbook.</p> <p>Paste the following code into the designer, where the Name for Get-AutomationPSCredential is the Name of your credentials you created earlier.&nbsp; You can always click (Insert, Setting) at the bottom of the window and choose Get Windows PowerShell Credential and is will show you all the&nbsp; credentials you have. This will also paste in the command to get the credentials.</p><pre class="brush: powershell; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">workflow shutdown-vm
{
    $Cred = Get-AutomationPSCredential -Name &#39;Azure Auto&#39;
    Add-AzureAccount -Credential $Cred
    
InlineScript 
    {

    Select-AzureSubscription -SubscriptionName &quot;Visual Studio Ultimate with MSDN&quot;
           
    $VMS = Get-AzureVM 

    foreach($VM in $VMS)
        {    
        $VMName = $VM.Name 
        Stop-AzureVM -ServiceName $VM.ServiceName -Name $VM.Name -Force
        Write-Output &quot;Shutting down VM :  $VMName &quot;
        }
    }
}</pre>
<p>Now it is time to test, if you have VMs just click the Test button </p>
<p>Finally once you test, you should get output similar to below.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_3A8B6F16.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_3A8B6F16.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_531B0C66.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_531B0C66.png" width="471" height="273" /></a> </p>
<p></p>
<p>Hope this helps someone out there.</p>]]></content:encoded>
    </item>
    <item>
      <title>New-AzureStorageAccount : Specified argument was out of the range of valid values. Parameter name: parameters.Name</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/new-azurestorageaccount-specified-argument-was-out-of-the-range-of-valid-values-parameter-name-parameters-name</link>
      <pubDate>Tue, 04 Nov 2014 09:08:57 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2014/11/04/new-azurestorageaccount-specified-argument-was-out-of-the-range-of-valid-values-parameter-name-parameters-name/</guid>
      <description><![CDATA[Recently I have been working on automating deploying an IaaS infrastructure on Azure.. Part of this...]]></description>
      <content:encoded><![CDATA[<p>Recently I have been working on automating deploying an IaaS infrastructure on Azure.. Part of this required me creating my storage accounts.&nbsp; The automation would allow users to add or remove storage accounts in a list and create them all in one bunch.&nbsp; I am doing this through a XAML form.&nbsp; What I found is people would enter in capitol letters.&nbsp; If you are not familiar with creating storage accounts, when you create them in the portal you can only specify lowercase letters and numbers, this is the same with the New-AzureStorageAccount cmdlet.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_6E2D97D5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_6E2D97D5.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_77895D09.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_77895D09.png" width="960" height="219" /></a> </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_1383B524.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_1383B524.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_279CD1AD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_279CD1AD.png" width="975" height="138" /></a> </p> <p>To get around this, in your script you can use Regex Replace and .ToLower to convert the value to lowercase and numbers and letters only.&nbsp; Where below $sa is an object that I store my values like StorageAccountName, Label, Description and AffinityGroup.</p> <p>$StorageAccountName = [Regex]::Replace($sa.Name.ToLower(), &#39;[^(a-z0-9)]&#39;, &#39;&#39;)</p>]]></content:encoded>
    </item>
    <item>
      <title>Creating a Database Programmatically with SMO and XML</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/creating-a-database-programmatically-with-smo-and-xml</link>
      <pubDate>Thu, 23 Oct 2014 10:39:00 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2014/10/23/creating-a-database-programmatically-with-smo-and-xml/</guid>
      <description><![CDATA[I was working on a project with some colleagues about patching systems via Orchestrator.&nbsp; This...]]></description>
      <content:encoded><![CDATA[<p>I was working on a project with some colleagues about patching systems via Orchestrator.&nbsp; This brought up the topic of managing state, and to do this one of the best ways is by leveraging a database to record state.&nbsp; Ultimately we needed to create this database in each new environment and I decided to script it, I wanted it to be extensible no matter what I needed to do.&nbsp; To do this I ended up leveraging an XML file to provide me the information I need and leveraging SQL SMO to do the hard work.&nbsp; I figured I would share it with the world in case it can assist someone else.&nbsp; Special thanks goes to <a href="/b/mitchk/" target="_blank">Mitch Klann</a> for assistance with the script.</p>
<p>In my next post I will show how you can also use an xml file to populate the database with values while using SMO.</p>
<h2>The XML File</h2>
<p>The XML file contains all the elements you need to script a database. Below is the XML file.&nbsp; Within the Database element there is a section to define the SQLInstance, in this case I am just using a default instance, if you are using an named instance it should be in server\instance format.&nbsp; The next Name tag is the Name of the database to create.&nbsp; After that you have the Tables element and within it each table.&nbsp; Each Table has a Name and then respective columns within it.&nbsp; The column elements have their name, which would be the column name, an Identity Element, which would be used if you want that column to be an identity (By default it will set the Seed to 1 and increment to 1 but you could customize if you want.&nbsp; Next is the DataType, this is the type of data that will be in there, you can put whatever datatypes that SQL Supports in there.&nbsp; Next is Nullable, this allows you to determine whether the column can be empty or not when entering a record.&nbsp; And lastly is the PK tag, this is a Boolean that allows you to set a column to the Primary Key.</p>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;DBCreate version=&quot;1.0&quot;&gt;
&lt;Database&gt;
&lt;SQLInstance&gt;db01&lt;/SQLInstance&gt;
&lt;Name&gt;ExamplePOC&lt;/Name&gt;
&lt;Tables&gt;
&lt;Table&gt;
&lt;Name&gt;ServerTBL&lt;/Name&gt;
&lt;Columns&gt;
&lt;Column&gt;
&lt;Name&gt;ServerID&lt;/Name&gt;
&lt;Identity&gt;True&lt;/Identity&gt;
&lt;DataType&gt;Int&lt;/DataType&gt;
&lt;Nullable&gt;False&lt;/Nullable&gt;
&lt;PK&gt;True&lt;/PK&gt;
&lt;/Column&gt;
&lt;Column&gt;
&lt;Name&gt;ServerFQDN&lt;/Name&gt;
&lt;Identity&gt;False&lt;/Identity&gt;
&lt;DataType&gt;NVarChar(100)&lt;/DataType&gt;
&lt;Nullable&gt;False&lt;/Nullable&gt;
&lt;PK&gt;False&lt;/PK&gt;
&lt;/Column&gt;
&lt;/Columns&gt;
&lt;/Table&gt;
&lt;Table&gt;
&lt;Name&gt;ExtraTBL&lt;/Name&gt;
&lt;Columns&gt;
&lt;Column&gt;
&lt;Name&gt;ExtraID&lt;/Name&gt;
&lt;Identity&gt;True&lt;/Identity&gt;
&lt;DataType&gt;Int&lt;/DataType&gt;
&lt;Nullable&gt;False&lt;/Nullable&gt;
&lt;PK&gt;True&lt;/PK&gt;
&lt;/Column&gt;
&lt;Column&gt;
&lt;Name&gt;ExtraName&lt;/Name&gt;
&lt;Identity&gt;False&lt;/Identity&gt;
&lt;DataType&gt;NVarChar(500)&lt;/DataType&gt;
&lt;Nullable&gt;False&lt;/Nullable&gt;
&lt;PK&gt;False&lt;/PK&gt;
&lt;/Column&gt;
&lt;Column&gt;
&lt;Name&gt;ServerID&lt;/Name&gt;
&lt;Identity&gt;False&lt;/Identity&gt;
&lt;DataType&gt;Int&lt;/DataType&gt;
&lt;Nullable&gt;False&lt;/Nullable&gt;
&lt;PK&gt;False&lt;/PK&gt;
&lt;/Column&gt;
&lt;/Columns&gt;
&lt;/Table&gt;
&lt;/Tables&gt;
&lt;/Database&gt;
&lt;/DBCreate&gt;</pre>
<p>Next we have the PowerShell script that creates the Database.&nbsp; Since the script uses SMO it must be ran from a server that has SMO Installed (SQL Servers have this by default).&nbsp; If you want it to run remotely the easiest way would be to use a PSSession and pass the XML data into your session.</p>
<pre class="brush: powershell; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">$xml = [xml] ( get-content C:\scripts\DBCreate.xml)
cls
#Load SQL SMO Assembly
[System.Reflection.Assembly]::LoadWithPartialName(&#39;Microsoft.SqlServer.SMO&#39;)  | out-null

 #define preliminary variables
$sql = $xml.DBCreate.Database.SQLInstance
$dbfound = $false
$ns = &#39;Microsoft.SqlServer.Management.Smo&#39;
$s = new-object (&quot;$ns.Server&quot;) $sql
$DBName = $xml.DBCreate.Database.Name
$dbs = $s.Databases | where {-not $_.IsSystemObject}

#loop through current databases and look to see if DBCreatePOC DB already exists
foreach($db in $dbs)
{
#write-host $db.Name
if($db.Name -eq $DBName)
{
Write-Host &quot;DB Found&quot;
$dbfound = $true
}
}

#If DB doesnt exist create the db
if($dbfound -eq $False)
{
Write-Host &quot;Creating DB&quot;
$database = New-Object -TypeName (&quot;$ns.Database&quot;)($s, $DBName)
$database.Create()

$db= New-Object (&quot;$ns.Database&quot;)
$db= $s.Databases.Item($DBName)
#Create the table in the dbo schema
$tables = $xml.DBCreate.Database.Tables.Table
#Loop trough tables and create
foreach($table in $tables)
{
$tablename = $table.Name
 $tb = new-object (&quot;$ns.Table&quot;)($db, $tablename)
 #Statement to create ServerTBL Table
 $columns = $table.Columns.Column
 foreach($column in $columns)
 {
 $datatype = $column.DataType
 $datatype = invoke-expression &quot;[Microsoft.SqlServer.Management.Smo.Datatype]::$datatype&quot;
 $columnname = $column.Name

 $tempcol = new-object (&quot;$ns.Column&quot;)($tb, $columnname, $datatype)

 if($column.Identity -eq &quot;True&quot;)
 {
 $tempcol.Identity = $true
  $tempcol.IdentitySeed = 1
 $tempcol.IdentityIncrement = 1
 }

  $tb.Columns.Add($tempcol)
  if($column.Nullable -eq &quot;True&quot;)
{
  $tempcol.Nullable = $true
  }
if($column.PK -eq &quot;True&quot;)
{
$PK = &quot;PK_&quot; + $columnname
 $idxpk = new-object (&quot;$ns.Index&quot;) ($tb, $PK)
 $idxpk.IndexKeyType = &quot;DriPrimaryKey&quot;
 $idxpk.IsClustered = $true
 $idxpkcol = new-object (&quot;$ns.IndexedColumn&quot;) ($idxpk, $columnname)
 $idxpk.IndexedColumns.Add($idxpkcol)
 $tb.Indexes.Add($idxpk)

}
 }
  $tb.Create()
 }
 }</pre>
<p>Ultimately when you run the script the DB will be created, here is a screenshot from Microsoft SQL Management Studio showing the DB after creation.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_2AAF922E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_2AAF922E.png"><img width="334" height="427" title="image" style="display:inline;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/image_thumb_15C0A06C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/image_5F00_thumb_5F00_15C0A06C.png" border="0" /></a></p>
<p>The files shown in this blog post can be found at the <a href="https://gallery.technet.microsoft.com/A-Script-and-input-XML-ad7d01e7" target="_blank">TechNet Gallery</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Pulling all Enumerations and Child Nodes with PowerShell SCSM 2012 R2</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/pulling-all-enumerations-and-child-nodes-with-powershell-scsm-2012-r2</link>
      <pubDate>Tue, 08 Jul 2014 13:42:00 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2014/07/08/pulling-all-enumerations-and-child-nodes-with-powershell-scsm-2012-r2/</guid>
      <description><![CDATA[I have been working with a colleague of mine Chris Jones on some reporting components for Service...]]></description>
      <content:encoded><![CDATA[<p>I have been working with a colleague of mine <a href="/b/letsdothis/">Chris Jones</a> on some reporting components for Service Manager and we wanted to pull all of the Enumerations within Service Manager and display them out.&nbsp; We decided to use SMLets to do this to make it easier. This is the beginning of a data dictionary which will ultimately be saved to Excel or another office product format, but for now I wanted to share the standard PowerShell.</p> <p>Below is the sample script.</p> <p>Function Get-ChildEnumeration<br />{<br />&nbsp;&nbsp;&nbsp; Param(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $Enumeration  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $var = $var + &quot;`t&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $comma = $comma + &quot;,&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $parentenum = Get-SCSMEnumeration -Id $Enumeration  <p>&nbsp;&nbsp;&nbsp;&nbsp; $Query = $parentenum | Get-SCSMChildEnumeration -Depth OneLevel  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($prevcount -ne $query.count)<br /> {  <p>&nbsp;&nbsp;&nbsp;&nbsp; foreach($item in $Query)<br />&nbsp;&nbsp;&nbsp;&nbsp; {  <p>&nbsp;&nbsp;&nbsp;&nbsp; Write-Host $var $item.DisplayName<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $csv = $comma + $item.DisplayName<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add-content -path &quot;c:\temp\stuff.csv&quot; -Value $csv<br />&nbsp; $prevcount = $query.count<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get-ChildEnumeration -Enumeration $item.id <br />&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp; }  <p>}  <p>&nbsp;&nbsp;&nbsp;&nbsp; $var =&quot;`t&quot;  <p>function Get-RootEnumeration<br />{<br />foreach($root in (Get-SCSMEnumeration | ? {$_.Parent -eq $null} | ? {$_.DisplayName -ne $null}))<br />{<br />&nbsp;&nbsp;&nbsp; Write-Host $root.DisplayName<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $csv = $root.DisplayName + $comma<br />&nbsp; add-content -path &quot;c:\temp\SCSMEnumerations.csv&quot; -Value $csv<br />&nbsp; Get-ChildEnumeration -Enumeration $root.id <br />}  <p>} <p>Get-RootEnumeration<pre class="brush: powershell; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">Afterwards the script output will look similar to the screenshot below.  Hope this helps others out there looking for something similar.
</pre>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/PSOutput_3005E83A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/PSOutput_5F00_3005E83A.png"><img title="PSOutput" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="PSOutput" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/37/metablogapi/PSOutput_thumb_51F14ABE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-37-metablogapi/PSOutput_5F00_thumb_5F00_51F14ABE.png" width="425" height="481" /></a></p></p></p></p></p></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Adding the Description field to Service Manager 2012 Cubes</title>
      <link>https://docs.microsoft.com/archive/blogs/georgewallace/adding-the-description-field-to-service-manager-2012-cubes</link>
      <pubDate>Fri, 15 Nov 2013 11:22:35 GMT</pubDate>
      <dc:creator><![CDATA[GeorgeWallace]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/georgewallace/2013/11/15/adding-the-description-field-to-service-manager-2012-cubes/</guid>
      <description><![CDATA[I want to first caveat this post that modifying the cube via PowerShell could break something and it...]]></description>
      <content:encoded><![CDATA[<p>I want to first caveat this post that modifying the cube via PowerShell could break something and it not supported, this should be used in a lab environment.</p>  <p>The Cubes in Service Manager are a great part of the product it makes for very robust reporting and calculating KPI’s a snap.&#160; A common ask I have seen is how to add the description field to the cubes.&#160; </p>  <p>Let me start with this, the primary reason for Analytic cubes is just that to do analysis, finding trends, tracking Key Performance Indicators and such.&#160; For this reason Description doesn’t fit well as most descriptions will be unique and to be used in analysis would make it tough, but there are reasons to have it, comparing descriptions of say all tickets that were assigned to a group, or descriptions from tickets in the same category.</p>  <p>Below is a simple script to get the Description field added to Service Requests.&#160; It can be used for others as well, you just need to update the Dimension and the Cube.&#160; The script first enables the Description field on the Dimension and then enables the Description Field on the Dimension in the applicable Cube.&#160; Both the normal Dimension and the Dimension in the Cube have to be updated for the Description to display.</p>  <pre class="csharpcode">[Reflection.Assembly]::LoadWithPartialName(<span class="str">&quot;Microsoft.AnalysisServices&quot;</span>)
$servername=New-Object Microsoft.AnalysisServices.Server
$servername.connect(<span class="str">&quot;sqlservername&quot;</span>)

$DWASDataBase = $servername.Databases | ? {$_.Name -eq <span class="str">'DWASDataBase'</span>}

$ServiceRequestDim = $DWASDataBase.Dimensions | ? {$_.Name -eq <span class="str">'ServiceRequestDim'</span>}
$Description = $ServiceRequestDim.Attributes | ? {$_.Name -eq <span class="str">'Description'</span>}
$Description.AttributeHierarchyEnabled = <span class="str">'True'</span>
$ServiceRequestDim.Update()

$SRCube = $DWASDataBase.Cubes | ? {$_.Name -eq <span class="str">'SystemCenterServiceCatalogCube'</span>}
$CubeServiceRequestDim = $SRCube.Dimensions | ? {$_.Name -eq <span class="str">'ServiceRequestDim'</span>}
$Description = $CubeServiceRequestDim.Attributes | ? {$_.AttributeID -eq <span class="str">'Description'</span>}
$Description.AttributeHierarchyEnabled = <span class="str">'True'</span>
$SRCube.Update()</pre>

<p></p>

<p>Once the script has ran, you will need to reprocess the cube the description data will now be visible in excel or other BI tools (PowerPivot/Performance Point).</p>]]></content:encoded>
    </item>
  </channel>
</rss>