<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tables on Anything About IT</title><link>https://www.verboon.info/tags/tables/</link><description>Recent content in Tables on Anything About IT</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 01 Jul 2017 23:36:39 +0000</lastBuildDate><atom:link href="https://www.verboon.info/tags/tables/index.xml" rel="self" type="application/rss+xml"/><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></channel></rss>