<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Azure on Anything About IT</title><link>https://www.verboon.info/categories/azure/</link><description>Recent content in Azure on Anything About IT</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 22 Nov 2022 22:13:09 +0000</lastBuildDate><atom:link href="https://www.verboon.info/categories/azure/index.xml" rel="self" type="application/rss+xml"/><item><title>Users can create AzureAD tenants</title><link>https://www.verboon.info/2022/11/users-can-create-azuread-tenants/</link><pubDate>Tue, 22 Nov 2022 22:13:09 +0000</pubDate><guid>https://www.verboon.info/2022/11/users-can-create-azuread-tenants/</guid><description>&lt;p&gt;Hello there,&lt;/p&gt;
&lt;p&gt;In this blog post we look at a setting within the Azure AD portal: &amp;ldquo;Users can create Azure AD tenants&amp;rdquo;. Unfortunately, this setting is enabled by default. Most organizations will probably want to turn this off. You can find it in the Azure AD portal under Settings &amp;gt; Users &amp;gt; User settings &amp;gt; Tenant creation.&lt;/p&gt;
&lt;p&gt;
 &lt;img src="images/112222_2202_Userscancre1.png" alt=""&gt;

&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Yes&lt;/code&gt; allows default users to create Azure AD tenants. &lt;code&gt;No&lt;/code&gt; allows only users with the Global Administrator or Tenant Creator roles to create Azure AD tenants. Anyone who creates a tenant becomes the Global Administrator for that tenant.&lt;/p&gt;</description></item><item><title>How to deploy your jump host in Azure</title><link>https://www.verboon.info/2020/03/how-to-deploy-your-jump-host-in-azure/</link><pubDate>Sun, 29 Mar 2020 14:49:33 +0000</pubDate><guid>https://www.verboon.info/2020/03/how-to-deploy-your-jump-host-in-azure/</guid><description>&lt;p&gt;Due to the current CODV 19 pandemic, governments are urging their citizens to stay at home. For many people this means finding alternative ways to continue their work from home. This article is primarily aimed at IT administrators or IT consultants who do not have an existing solution in place and who are looking for a simple but secure solution to access their IT infrastructure remotely.&lt;/p&gt;
&lt;p&gt;When saying existing solutions, I&amp;rsquo;m referring to remote access solutions like Citrix, Windows Virtual Desktop or corporate owned and security hardened Windows 10 notebooks with a VPN client, However not all companies have such solutions in place because maybe until recently there was no need for people to work remotely. With COVD 19 this all changed overnight.&lt;/p&gt;</description></item><item><title>Backup Office 365 sign-in data with Azure Log Analytics and Logic App</title><link>https://www.verboon.info/2018/03/backup-office-365-sign-in-data-with-azure-log-analytics-and-logic-app/</link><pubDate>Fri, 16 Mar 2018 19:59:59 +0000</pubDate><guid>https://www.verboon.info/2018/03/backup-office-365-sign-in-data-with-azure-log-analytics-and-logic-app/</guid><description>&lt;p&gt;The Office 365 solution in Operations Management Suite (OMS) allows you to monitor your Office 365 environment in Log Analytics. Like with any solution that you setup in OMS you have to think of the data retention time.&lt;/p&gt;
&lt;p&gt;At present the maximum retention time can be set to two years, but this of course will affect your Azure billing. In today&amp;rsquo;s blog post I walk you through a possible solution how to backup just a subset of data into a custom log. The idea is that you can keep the retention period for the large amount of data low and only keep the data that is important for you for a longer period. The solution uses &lt;a href="https://docs.microsoft.com/en-us/azure/log-analytics/"&gt;Azure Log Analytics&lt;/a&gt; and &lt;a href="https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-overview"&gt;Azure Logic App Services&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>How to get started with Azure log Analytics</title><link>https://www.verboon.info/2018/03/how-to-get-started-with-azure-log-analytics/</link><pubDate>Sun, 11 Mar 2018 16:55:36 +0000</pubDate><guid>https://www.verboon.info/2018/03/how-to-get-started-with-azure-log-analytics/</guid><description>&lt;p&gt;If you&amp;rsquo;re interested in getting your hands dirty with Azure Log Analytics, here&amp;rsquo;s a few resources and tips on how to get started.&lt;/p&gt;
&lt;p&gt;**The Video&amp;rsquo;s
**&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re looking for some imagination of what Azure Log Analytics is all about and what you can do with it, here&amp;rsquo;s a couple of videos I recommend watching.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Azure Log Analytics (13 minutes)
&lt;a href="https://channel9.msdn.com/Shows/Azure-Friday/Azure-Log-Analytics?ocid=player"&gt;https://channel9.msdn.com/Shows/Azure-Friday/Azure-Log-Analytics?ocid=player&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;What&amp;rsquo;s changed in Azure Log Analytics? (5 minutes)
&lt;a href="https://channel9.msdn.com/Blogs/Azure/Whats-changed-in-Azure-Log-Analytics"&gt;https://channel9.msdn.com/Blogs/Azure/Whats-changed-in-Azure-Log-Analytics&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The improved Azure Log Analytics: A powerful query language with machine learning, and more (1 hour)
&lt;a href="https://channel9.msdn.com/Events/Ignite/Microsoft-Ignite-Orlando-2017/BRK3269"&gt;https://channel9.msdn.com/Events/Ignite/Microsoft-Ignite-Orlando-2017/BRK3269&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Data Collection Tier in Azure Security Center</title><link>https://www.verboon.info/2018/02/data-collection-tier-in-azure-security-center/</link><pubDate>Sun, 25 Feb 2018 17:22:05 +0000</pubDate><guid>https://www.verboon.info/2018/02/data-collection-tier-in-azure-security-center/</guid><description>&lt;p&gt;Within the Azure Security Center, Security Policy node, you can select a workspace and there define the data collection configuration for security events.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;All Events&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Common&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Minimal&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;None&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
 &lt;img src="images/022518_1719_DataCollect1.png" alt=""&gt;

&lt;/p&gt;
&lt;p&gt;More details about the Azure Data Collection and the data collection tier can be found &lt;a href="https://docs.microsoft.com/en-us/azure/security-center/security-center-enable-data-collection"&gt;here&lt;/a&gt;. The page also has a list of all the Event IDs that are being collected within each tier.&lt;/p&gt;
&lt;p&gt;
 &lt;img src="images/022518_1719_DataCollect2.png" alt=""&gt;

&lt;/p&gt;
&lt;p&gt;To better understand the exact meaning of each Event ID, I&amp;rsquo;ve created the below lists containing the Event ID, Description, Event Provider and Event Level information.&lt;/p&gt;</description></item><item><title>OMS Security and Audit Baseline Assessment</title><link>https://www.verboon.info/2018/02/oms-security-and-audit-baseline-assessment/</link><pubDate>Mon, 19 Feb 2018 20:53:31 +0000</pubDate><guid>https://www.verboon.info/2018/02/oms-security-and-audit-baseline-assessment/</guid><description>&lt;p&gt;The Microsoft Operations and Management Suite, Security and Audit Solution includes a Baseline Assessment component. The Baseline configuration definition includes a set of Registry, audit policy and security policy settings rules that are recommended to configure to achieve a secure operating environment.&lt;/p&gt;
&lt;p&gt;
 &lt;img src="images/021918_2045_OMSSecurity1.png" alt=""&gt;

&lt;/p&gt;
&lt;p&gt;
 &lt;img src="images/021918_2045_OMSSecurity2.png" alt=""&gt;

&lt;/p&gt;
&lt;p&gt;Within the Console we get an overview of &amp;ldquo;Rules&amp;rdquo; that have failed, because the servers don&amp;rsquo;t have the recommended configuration applied. While looking at this, I wondered where I can find the complete set of rules that are used when performing the baseline assessment.&lt;/p&gt;</description></item><item><title>Creating and Managing Azure Storage Tables with PowerShell</title><link>https://www.verboon.info/2017/07/creating-and-managing-azure-storage-tables-with-powershell/</link><pubDate>Sat, 01 Jul 2017 23:36:39 +0000</pubDate><guid>https://www.verboon.info/2017/07/creating-and-managing-azure-storage-tables-with-powershell/</guid><description>&lt;p&gt;Today’s mission was to get more familiar with Azure Storage Tables and to manage them with PowerShell. On GitHub I found the &lt;a href="https://github.com/tyconsulting/AzureTableEntity-PowerShell-Module"&gt;AzureTableEntity module&lt;/a&gt; from Tao Yang. Below are a number of code snippets I used to get my hands dirty with Azure Storage tables and the module.&lt;/p&gt;
&lt;p&gt;Install the Module&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Install-Module -Name AzureTableEntity
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Next we create an Azure Resource Group and an Azure Storage Account&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Create ResourceGroup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$Location&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Westeurope&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_ResourceGroup&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;rg_CompComputerInventory&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;New-AzureRmResourceGroup&lt;/span&gt; -Name &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_ResourceGroup&lt;/span&gt; -Location &lt;span style="color:#8be9fd;font-style:italic"&gt;$Location&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Create StorageAccount&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$SkuName&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Standard_LRS&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;sacomputerinventory&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;New-AzureRmStorageAccount&lt;/span&gt; -ResourceGroupName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_ResourceGroup&lt;/span&gt; -Name &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -SkuName &lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$SkuName&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt; -Location &lt;span style="color:#8be9fd;font-style:italic"&gt;$Location&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;We will need the Storage Account key later so let’s get that one as well.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Retrieve the first StorageAccountAccessKey&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccount&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;Get-AzureRmStorageAccount&lt;/span&gt; -ResourceGroupName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_ResourceGroup&lt;/span&gt; -Name &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt; = (&lt;span style="color:#8be9fd;font-style:italic"&gt;Get-AzureRmStorageAccountKey&lt;/span&gt; -ResourceGroupName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_ResourceGroup&lt;/span&gt; -Name &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt;).Value[&lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Next we create a new Table with the name “Computerinventory”
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;#Create Table&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$TableName&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;ComputerInventory&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$context&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;New-AzureStorageContext&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;New-AzureStorageTable&lt;/span&gt; -Name &lt;span style="color:#8be9fd;font-style:italic"&gt;$TableName&lt;/span&gt; -Context &lt;span style="color:#8be9fd;font-style:italic"&gt;$context&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Now that we have the table created, we can &lt;span style="color:#8be9fd;font-style:italic"&gt;start &lt;/span&gt;adding data to it, let’s &lt;span style="color:#8be9fd;font-style:italic"&gt;start &lt;/span&gt;with adding just one row first.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Add one entry&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     &lt;span style="color:#8be9fd;font-style:italic"&gt;$data&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;@&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     RowKey = ([guid]::NewGuid().tostring())
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     PartitionKey = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Inventory&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     ComputerName = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Computer000001&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     Location = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Amsterdam&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     dtDate = [datetime]::UtcNow
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;New-AzureTableEntity&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$TableName&lt;/span&gt; -Verbose -Entities &lt;span style="color:#8be9fd;font-style:italic"&gt;$data&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Let’s take a look what’s &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; the table now
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;(PartitionKey eq &amp;#39;Inventory&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;Get-AzureTableEntity&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$tableName&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt;  -QueryString &lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; -ConvertDateTimeFields &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -GetAll &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -Verbose
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;![image](images/image_thumb.png)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Next let’s add some more data to it, the below code creates some random computer inventory data.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Generate some demo data for PC inventory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;   &lt;span style="color:#8be9fd;font-style:italic"&gt;$locations&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;@&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;&amp;#34;Amsterdam&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Paris&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Stockholm&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;London&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;New York&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Seatle&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Singapure&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Hong Kong&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;The Hague&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Barcelona&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Madrid&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Stockholm&amp;#34;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#34;Rome&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     &lt;span style="color:#8be9fd;font-style:italic"&gt;$data&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;@&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     &lt;span style="color:#8be9fd;font-style:italic"&gt;$count&lt;/span&gt; = &lt;span style="color:#bd93f9"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;      &lt;span style="color:#ff79c6"&gt;While&lt;/span&gt; (&lt;span style="color:#8be9fd;font-style:italic"&gt;$count&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;-le&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;      {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;         &lt;span style="color:#8be9fd;font-style:italic"&gt;$obj&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;@&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;             RowKey = ([guid]::NewGuid().tostring())
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;             PartitionKey = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Inventory&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;             ComputerName = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Computer&amp;#34;&lt;/span&gt; + &lt;span style="color:#8be9fd;font-style:italic"&gt;$count&lt;/span&gt;.ToString(&lt;span style="color:#f1fa8c"&gt;&amp;#34;000000&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;             Location = (&lt;span style="color:#8be9fd;font-style:italic"&gt;$locations&lt;/span&gt;)[(&lt;span style="color:#8be9fd;font-style:italic"&gt;Get-Random&lt;/span&gt; -Minimum &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt; -Maximum &lt;span style="color:#8be9fd;font-style:italic"&gt;$locations&lt;/span&gt;.Count )]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;             dtDate = [datetime]::UtcNow
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;         }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;         &lt;span style="color:#8be9fd;font-style:italic"&gt;$data&lt;/span&gt; += (&lt;span style="color:#8be9fd;font-style:italic"&gt;New-Object&lt;/span&gt; -TypeName PSCustomObject -Property &lt;span style="color:#8be9fd;font-style:italic"&gt;$obj&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;         &lt;span style="color:#8be9fd;font-style:italic"&gt;$count&lt;/span&gt;++
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;     }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Add rows to Azure Storage Table&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;New-AzureTableEntity&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$TableName&lt;/span&gt; -Verbose -Entities &lt;span style="color:#8be9fd;font-style:italic"&gt;$data&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;If&lt;/span&gt; all went fine, we should now have all the data &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; the table.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;(PartitionKey eq &amp;#39;Inventory&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;Get-AzureTableEntity&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$tableName&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt;  -QueryString &lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; -ConvertDateTimeFields &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -GetAll &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -Verbose
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.Count
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt; | &lt;span style="color:#8be9fd;font-style:italic"&gt;Group-Object&lt;/span&gt; Location
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;We now have &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt; records &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; the table, with “**&lt;span style="color:#bd93f9"&gt;11&lt;/span&gt;**” computers located &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; Amsterdam
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;![image](images/image_thumb-&lt;span style="color:#bd93f9"&gt;1&lt;/span&gt;.png)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Now let’s look at Computer000001
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;(ComputerName eq &amp;#39;Computer000001&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;Get-AzureTableEntity&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$tableName&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt;  -QueryString &lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; -ConvertDateTimeFields &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -GetAll &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -Verbose
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;![image](images/image_thumb-&lt;span style="color:#bd93f9"&gt;2&lt;/span&gt;.png)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;It’s located &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; Amsterdam. Now let’s have a look at how to update a record, let’s say we want to change it to “Rotterdam”
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$NewLoczation&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;Rotterdam&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$data&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;@&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PartitionKey = &lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.PartitionKey
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;RowKey       = &lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.RowKey
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Location = &lt;span style="color:#8be9fd;font-style:italic"&gt;$NewLoczation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ComputerName = &lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.ComputerName
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dtDate = &lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.dtDate
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;Update-AzureTableEntity&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$TableName&lt;/span&gt; -Entities &lt;span style="color:#8be9fd;font-style:italic"&gt;$data&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Let&lt;span style="color:#f1fa8c"&gt;&amp;#39;s retrieve the record again.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;$querystring = &amp;#34;(ComputerName eq &amp;#39;&lt;/span&gt;Computer000001&lt;span style="color:#f1fa8c"&gt;&amp;#39;)&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;$result = Get-AzureTableEntity -TableName $tableName -StorageAccountName $ComputerInventory_StorageAccountName -StorageAccountAccessKey $StorageAccountAccessKey  -QueryString $querystring -ConvertDateTimeFields $true -GetAll $true -Verbose
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;$result
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;and there we go, it&amp;#39;&lt;/span&gt;s now registered &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; Rotterdam.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;![image](images/image_thumb-&lt;span style="color:#bd93f9"&gt;3&lt;/span&gt;.png)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Let’s query the entire database again.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;(PartitionKey eq &amp;#39;Inventory&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;Get-AzureTableEntity&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$tableName&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt;  -QueryString &lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; -ConvertDateTimeFields &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -GetAll &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -Verbose
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.Count
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt; | &lt;span style="color:#8be9fd;font-style:italic"&gt;Group-Object&lt;/span&gt; Location
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;![image](images/image_thumb-&lt;span style="color:#bd93f9"&gt;4&lt;/span&gt;.png)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;and &lt;span style="color:#ff79c6"&gt;finally&lt;/span&gt;, let’s remove the Computer000001
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;I query the information again, as i will &lt;span style="color:#8be9fd;font-style:italic"&gt;re-use&lt;/span&gt; the &lt;span style="color:#ff79c6"&gt;return&lt;/span&gt; values to build the remove properties.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;```powershell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; = &lt;span style="color:#f1fa8c"&gt;&amp;#34;(ComputerName eq &amp;#39;Computer000001&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;Get-AzureTableEntity&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$tableName&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt;  -QueryString &lt;span style="color:#8be9fd;font-style:italic"&gt;$querystring&lt;/span&gt; -ConvertDateTimeFields &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -GetAll &lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt; -Verbose
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$Remove&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;@&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PartitionKey = &lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.PartitionKey
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;RowKey = &lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.RowKey
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Computername = &lt;span style="color:#8be9fd;font-style:italic"&gt;$result&lt;/span&gt;.ComputerName
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;Remove-AzureTableEntity&lt;/span&gt; -StorageAccountName &lt;span style="color:#8be9fd;font-style:italic"&gt;$ComputerInventory_StorageAccountName&lt;/span&gt; -StorageAccountAccessKey &lt;span style="color:#8be9fd;font-style:italic"&gt;$StorageAccountAccessKey&lt;/span&gt; -TableName &lt;span style="color:#8be9fd;font-style:italic"&gt;$TableName&lt;/span&gt; -Entities &lt;span style="color:#8be9fd;font-style:italic"&gt;$Remove&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;</description></item><item><title>Deploying ConfigMgr Current Branch in Azure Dev Test Lab</title><link>https://www.verboon.info/2017/02/deploying-configmgr-current-branch-in-azure-dev-test-lab/</link><pubDate>Fri, 10 Feb 2017 21:36:02 +0000</pubDate><guid>https://www.verboon.info/2017/02/deploying-configmgr-current-branch-in-azure-dev-test-lab/</guid><description>&lt;p&gt;Remember the days when you spend hours if not days just to get a lab environment in place and any time you wanted to use the environment again, you spend another couple of hours to get It updated. About 3 years ago I started to make more use of Azure based compute to run my virtual machines, that I use for technology learning and research activities. Initially created the virtual machines through the portal, but then soon started to use Azure Resource Manager based provisioning techniques and PowerShell which speeded up provisioning times quite a bit.&lt;/p&gt;</description></item><item><title>How to link an OMS Workspace with an Azure Automation Account</title><link>https://www.verboon.info/2017/02/how-to-link-an-oms-workspace-with-an-azure-automation-account/</link><pubDate>Thu, 09 Feb 2017 21:14:19 +0000</pubDate><guid>https://www.verboon.info/2017/02/how-to-link-an-oms-workspace-with-an-azure-automation-account/</guid><description>&lt;p&gt;When adding solutions to your OMS workspace you might get prompted to specify an Azure Automation account which then results in a link being created between the OMS workspace and the Azure Automation account. Now let’s assume you don’t need a specific OMS solution but you still want to create a link to an Automation account. While there is an “unlink workspace” option in the Azure portal, there is no “link workspace option” .&lt;/p&gt;</description></item><item><title>OMS Log Analytics HTTP Data Collector API &amp;ndash; Work notes</title><link>https://www.verboon.info/2017/02/oms-log-analytics-http-data-collector-api-work-notes/</link><pubDate>Wed, 08 Feb 2017 13:08:44 +0000</pubDate><guid>https://www.verboon.info/2017/02/oms-log-analytics-http-data-collector-api-work-notes/</guid><description>&lt;p&gt;I believe that the Microsoft Operations Management Suite is yet another example of how cool Cloud based solutions can be. Instead of first having to spin up an entire backend infrastructure before you can actually start collecting data, with the Microsoft Operations Management Suite you can directly start focusing on the task of collecting and visualizing your data. This blog post is basically a summary of my notes and scripts that I created while exploring the OMS Log Analytics HTTP Data Collector API, that allows you to submit any type of data to an OMS Workspace.&lt;/p&gt;</description></item><item><title>Retrieve Azure Virtual Machine Size information with PowerShell</title><link>https://www.verboon.info/2017/02/retrieve-azure-virtual-machine-size-information-with-powershell/</link><pubDate>Tue, 07 Feb 2017 19:46:07 +0000</pubDate><guid>https://www.verboon.info/2017/02/retrieve-azure-virtual-machine-size-information-with-powershell/</guid><description>&lt;p&gt;One important topic to consider when deploying virtual machines in Azure is the &lt;a href="https://azure.microsoft.com/en-us/pricing/details/cloud-services/"&gt;size&lt;/a&gt; of the virtual machine as this affects the pricing, but beware that not only virtual machine sizing has a pricing impact other factors like &lt;a href="https://azure.microsoft.com/en-us/pricing/details/storage/disks/"&gt;storage&lt;/a&gt; and optional features like &lt;a href="https://azure.microsoft.com/en-in/pricing/details/ip-addresses/"&gt;IP address options&lt;/a&gt; add to the costs as well.&lt;/p&gt;
&lt;p&gt;A good starting point to get an understanding of virtual machine costs is the Azure pricing calculator: &lt;a href="https://azure.microsoft.com/en-in/pricing/calculator/"&gt;https://azure.microsoft.com/en-in/pricing/calculator/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;img src="https://i1.wp.com/www.verboon.info/wp-content/uploads/Retrieve-Azure-Virtual-Machine-Size-info_11B7A/image.png" alt="image"&gt;

&lt;/p&gt;
&lt;p&gt;Be aware that when selecting SSD disks, storage costs will be noticeable higher than when using HDD disks. To get a better understanding of the available Azure virtual machine sizes I strongly recommend to the read the following documentation:&lt;/p&gt;</description></item><item><title>Select-MyAzureRmSubscription</title><link>https://www.verboon.info/2017/02/select-myazurermsubscription/</link><pubDate>Tue, 07 Feb 2017 15:08:07 +0000</pubDate><guid>https://www.verboon.info/2017/02/select-myazurermsubscription/</guid><description>&lt;p&gt;I have multiple Azure subscriptions linked to my account, so anytime I connect to Azure in PowerShell I have to make sure i am working in the right context. To simplify this I wrote a little helper function called Select-MyAzureRmSubscription.&lt;/p&gt;
&lt;p&gt;
 &lt;img src="https://i1.wp.com/www.verboon.info/wp-content/uploads/Select-MyAzureSubscription_DD91/image.png" alt="image"&gt;

&lt;/p&gt;
&lt;p&gt;After entering the -SubscriptionName parameter the script enumerates alll the subscriptions I have access to and generates a dynamic parameter option.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Script location on GitHub: &lt;a href="https://github.com/alexverboon/posh/blob/master/Azure/Utilities/select-MyAzureRmSubscription.ps1"&gt;https://github.com/alexverboon/posh/blob/master/Azure/Utilities/select-MyAzureRmSubscription.ps1&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PowerShell Script - Get-MsolUserInformation</title><link>https://www.verboon.info/2016/12/powershell-script-get-msoluserinformation/</link><pubDate>Sun, 18 Dec 2016 18:27:57 +0000</pubDate><guid>https://www.verboon.info/2016/12/powershell-script-get-msoluserinformation/</guid><description>&lt;p&gt;The Get-MsolUserInformation cmdlet provides an easy way to retrieve all users that are a member or guest and/or are registered in Azure Directory or Active Directory.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Clean up unused Azure Resources with PowerShell</title><link>https://www.verboon.info/2016/10/clean-up-unused-azure-resources-with-powershell/</link><pubDate>Sun, 02 Oct 2016 00:25:26 +0000</pubDate><guid>https://www.verboon.info/2016/10/clean-up-unused-azure-resources-with-powershell/</guid><description>&lt;p&gt;Today when I opened my Azure portal I had a little surprise. The monthly MSDN subscription credit was much lower as I expected it to be. Did I eventually forget to turn off a virtual machine? Curious to find out where the cost had come from, I drilled into the subscription details and noticed that the higher costs had come from the Premium storage that I had used recently to deploy a virtual machine using an SSD disk  instead of a HDD disk. But still it wasn’t clear why just that one virtual machine would be that expensive, so i drilled into the premier storage account and noticed that there were several orphaned VHD disks there. A clean up was required.&lt;/p&gt;</description></item><item><title>Creating a Virtual Network using Azure Resource Manager &amp;ndash; Part 2</title><link>https://www.verboon.info/2016/03/creating-a-virtual-network-using-azure-resource-manager-part-2/</link><pubDate>Tue, 01 Mar 2016 14:50:01 +0000</pubDate><guid>https://www.verboon.info/2016/03/creating-a-virtual-network-using-azure-resource-manager-part-2/</guid><description>&lt;p&gt;In the previous article (&lt;a href="https://www.verboon.info/2016/02/creating-a-virtual-network-using-azure-resource-manager-part-1/"&gt;Part1&lt;/a&gt;) I walked through the steps of creating a Virtual Network using Azure Resource Manager and Visual Studio. In this article, we’ll look at using the Azure PowerShell cmdlets the some options for using parameters.&lt;/p&gt;
&lt;p&gt;For this walkthrough you need the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;An Azure Subscription that allows you to deploy resources&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Azure PowerShell 1.0 or great, download and installation details can be found &lt;a href="https://azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;First login to Azure using the &lt;strong&gt;Login-AzureRmAccount&lt;/strong&gt; command.&lt;/p&gt;</description></item><item><title>Creating a Virtual Network using Azure Resource Manager &amp;ndash; Part 1</title><link>https://www.verboon.info/2016/02/creating-a-virtual-network-using-azure-resource-manager-part-1/</link><pubDate>Mon, 29 Feb 2016 22:41:51 +0000</pubDate><guid>https://www.verboon.info/2016/02/creating-a-virtual-network-using-azure-resource-manager-part-1/</guid><description>&lt;p&gt;A few weeks ago I wondered why in the Azure Portal some of the resources where flagged as “classic”. The article &lt;a href="https://azure.microsoft.com/en-us/documentation/articles/resource-manager-deployment-model/"&gt;Understanding Resource Manager deployment and classic deployment&lt;/a&gt; provided the answer I was looking for and was the start of an interesting journey into Azure Resource Manager.&lt;/p&gt;
&lt;p&gt;If you haven’t heard of Azure Resource Manager yet, I highly recommend reading the &lt;a href="https://azure.microsoft.com/en-us/documentation/articles/resource-group-overview/"&gt;Azure Resource Manager overview&lt;/a&gt; or watch the I&lt;a href="https://channel9.msdn.com/Series/Building-Infrastructure-in-Azure-using-Azure-Resource-Manager/Introduction-to-Azure-Resource-Manager"&gt;ntroduction to Azure Resource Manager&lt;/a&gt; video available on Channel9 or &lt;a href="https://mva.microsoft.com/en-US/training-courses/deep-dive-into-azure-resource-manager-scenarios-and-patterns-13793?"&gt;Deep Dive into Azure Resource Manager Scenarios and Patterns&lt;/a&gt; on MVA.&lt;/p&gt;</description></item><item><title>A little helper script for the Azure Set-AzureRmVMSourceImage cmdlet</title><link>https://www.verboon.info/2016/02/a-little-helper-script-for-the-azure-set-azurermvmsourceimage-cmdlet/</link><pubDate>Thu, 11 Feb 2016 23:00:48 +0000</pubDate><guid>https://www.verboon.info/2016/02/a-little-helper-script-for-the-azure-set-azurermvmsourceimage-cmdlet/</guid><description>&lt;p&gt;To keep a long story short, today i started looking into Azure PowerShell and Azure Resource Manager and quickly found out that if I wanted to make use of ARM, i have to change some scripts I have used so far to deploy my Azure VMs. More on that in a later post.&lt;/p&gt;
&lt;p&gt;One cmdlet that I find paticularely annoying to use is &lt;strong&gt;Set-AzureRmVMSourceImage&lt;/strong&gt; as it has a couple of mandatory parameters and to find the right values for these, you have to run the follwoing three cmdlets first.&lt;/p&gt;</description></item><item><title>Installing Microsoft Azure AD Connect</title><link>https://www.verboon.info/2015/07/installing-microsoft-azure-ad-connect/</link><pubDate>Wed, 01 Jul 2015 18:34:37 +0000</pubDate><guid>https://www.verboon.info/2015/07/installing-microsoft-azure-ad-connect/</guid><description>&lt;p&gt;Last week Microsoft anounced GA for Azure AD Connect. To get a better understanding of how this all works, I installed it in my Cloud based lab that is hosted in Azure.&lt;/p&gt;
&lt;p&gt;I was supposed to demonstrate this to a colleague at work this week, but simply couldn’t find time for it, so here’s a short description on how to get started for him and for anyone else.&lt;/p&gt;
&lt;p&gt;First I recommend to read through the documentation and also watch the presentation &lt;a href="https://channel9.msdn.com/Events/Ignite/2015/BRK3862"&gt;Extending On-Premises Directories to the Cloud Made Easy with Azure Active Directory Connect&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How to troubleshoot a Windows-based Azure Virtual Machine</title><link>https://www.verboon.info/2015/04/how-to-troubleshoot-a-windows-based-azure-virtual-machine/</link><pubDate>Sun, 05 Apr 2015 22:52:41 +0000</pubDate><guid>https://www.verboon.info/2015/04/how-to-troubleshoot-a-windows-based-azure-virtual-machine/</guid><description>&lt;p&gt;When a physical device running Windows has problems, you have all sorts of possibilities to fix it, when virtual machine hosted within your on-premise virtualization infrastructure runs into issues, you still have all options to fix it. But the first time when a virtual machine hosted in Azure gets into trouble you might feel a little bit lost. But there’s hope. When I ran into an issue myself recently I found the following article “&lt;a href="http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-troubleshoot-remote-desktop-connections/"&gt;Troubleshoot Remote Desktop connections to a Windows-based Azure Virtual Machine&lt;/a&gt;”&lt;/p&gt;</description></item><item><title>PowerShell - How to qukckly access the Azure Management Portal</title><link>https://www.verboon.info/2013/12/powershell-how-to-qukckly-access-the-azure-management-portal/</link><pubDate>Mon, 09 Dec 2013 23:42:33 +0000</pubDate><guid>https://www.verboon.info/2013/12/powershell-how-to-qukckly-access-the-azure-management-portal/</guid><description>&lt;p&gt;Whenever I worked with Azure, first thing i usualy did was fire a web search to get the url for the Azure Management portal. I know I could bookmark it……..it’s just that I already have way too many bookmarks. But today I discovered a nice cmdlet in PowerShell called &lt;a href="http://msdn.microsoft.com/en-us/library/dn408543.aspx#feedback"&gt;&lt;strong&gt;Show-AzurePortal&lt;/strong&gt;&lt;/a&gt;** **which gets you automatically to the right place.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Show-AzurePortal
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;
 &lt;img src="images/2013-12-10_00h38_30_thumb.png" alt="2013-12-10_00h38_30"&gt;

&lt;/p&gt;
&lt;p&gt;Note: You must install the Azure PowerShell cmdlets. &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj156055.aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/jj156055.aspx&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Windows Azure an introduction</title><link>https://www.verboon.info/2008/10/windows-azure-an-introduction/</link><pubDate>Mon, 27 Oct 2008 19:23:31 +0000</pubDate><guid>https://www.verboon.info/2008/10/windows-azure-an-introduction/</guid><description>&lt;p&gt;Curious about Windows Azure ?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/Charles/Manuvir-Das-Introducing-Windows-Azure/"&gt;Manuvir-Das-Introducing-Windows-Azure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;More information about Windows Azure can be found &lt;a href="http://www.microsoft.com/azure/default.mspx"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;img src="./images/windowsazure.png" alt="WindowsAzure"&gt;

&lt;/p&gt;
&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/shows/pdc-pdc08/es16"&gt;A lap around Windows Azure&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>