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. At present the maximum retention time can be set to two years, but this of course will affect your Azure billing. In today’s blog post I walk you through a possible solution how to backup just a Read More …
If you’re interested in getting your hands dirty with Azure Log Analytics, here’s a few resources and tips on how to get started. The Video’s If you’re looking for some imagination of what Azure Log Analytics is all about and what you can do with it, here’s a couple of videos I recommend watching. Azure Log Analytics (13 minutes) https://channel9.msdn.com/Shows/Azure-Friday/Azure-Log-Analytics?ocid=player What’s changed in Azure Log Analytics? (5 minutes) https://channel9.msdn.com/Blogs/Azure/Whats-changed-in-Azure-Log-Analytics The improved Azure Log Analytics: A Read More …
Within the Azure Security Center, Security Policy node, you can select a workspace and there define the data collection configuration for security events. All Events Common Minimal None More details about the Azure Data Collection and the data collection tier can be found here. The page also has a list of all the Event IDs that are being collected within each tier. To better understand the exact meaning of each Event ID, I’ve created the Read More …
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. Within the Console we get an overview of “Rules” that have failed, because the servers don’t have the recommended configuration applied. While looking at this, I wondered where I can find the complete Read More …
Today’s mission was to get more familiar with Azure Storage Tables and to manage them with PowerShell. On GitHub I found the AzureTableEntity module from Tao Yang. Below are a number of code snippets I used to get my hands dirty with Azure Storage tables and the module. Install the Module
Install-Module -Name AzureTableEntity
Next we create an Azure Resource Group and an Azure Storage Account
# Create ResourceGroup
$Location = "Westeurope"
$ComputerInventory_ResourceGroup = "rg_CompComputerInventory"
New-AzureRmResourceGroup -Name $ComputerInventory_ResourceGroup -Location $Location
# Create StorageAccount
$SkuName = "Standard_LRS"
$ComputerInventory_StorageAccountName = "sacomputerinventory"
New-AzureRmStorageAccount -ResourceGroupName $ComputerInventory_ResourceGroup -Name $ComputerInventory_StorageAccountName -SkuName "$SkuName" -Location $Location,
We will need the Storage Account key later so let’s Read More …
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 Read More …
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” . Also Read More …
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 Read More …
One important topic to consider when deploying virtual machines in Azure is the size of the virtual machine as this affects the pricing, but beware that not only virtual machine sizing has a pricing impact other factors like storage and optional features like IP address options add to the costs as well. A good starting point to get an understanding of virtual machine costs is the Azure pricing calculator: https://azure.microsoft.com/en-in/pricing/calculator/ Be aware that when selecting Read More …
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. After entering the -SubscriptionName parameter the script enumerates alll the subscriptions I have access to and generates a dynamic parameter option.
The Select-MyAzureRmSubscription cmdlet provides an easy way to select an Azure Subscription
and sets authentication information for cmdlets that you run in the current session.
The context includes tenant subscription, and environment information.
A list of Subscriptions that the connected user has access to.
The cmdlet dynamically builds a list of accessible subscriptions
Select-MyAzureRmSubscription -SubscriptionName 'Visual Studio Professional with MSDN' -verbose
Sets the context to the Subscription 'Visual Studio Professional with MSDN'
VERBOSE: Selected SubscriptionName: Visual Studio Professional with MSDN
VERBOSE: Setting Azure Context to Visual Studio Professional with MSDN
Environment : AzureCloud
Account : email@example.com
TenantId : f2108ecc-dd4a-4b24-9f58-aaaaaaaaaaaa
SubscriptionId : 46327b72-b63c-48dd-b7f9-aaaaaaaaaaaa
SubscriptionName : Visual Studio Professional with MSDN
Connec to Azure using Login-AzureRmAccount prior using this function
Version 1.0, 21.12.2016, Alex Verboon
$attributes = new-object System.Management.Automation.ParameterAttribute
$attributes.ParameterSetName = "__AllParameterSets"
$attributes.Mandatory = $false
$attributeCollection = new-object -Type System.Collections.ObjectModel.Collection[System.Attribute]
$_Values = ((Get-AzureRmSubscription | select-object SubscriptionName | Sort-object Name).SubscriptionName)
Write-Error "No Subscriptions found, check your connectivity to Azure"
$ValidateSet = new-object System.Management.Automation.ValidateSetAttribute($_Values)
$SubscriptionName = new-object -Type System.Management.Automation.RuntimeDefinedParameter("SubscriptionName", [string], $attributeCollection)
$paramDictionary = new-object -Type System.Management.Automation.RuntimeDefinedParameterDictionary
return $paramDictionary }
$SubscriptionName = $SubscriptionName.Value
Write-Verbose "Selected SubscriptionName: $SubscriptionName"
Write-verbose "Setting Azure Context to $SubscriptionName"
Select-AzureRmSubscription -SubscriptionName "$SubscriptionName"
Script location on GitHub: https://github.com/alexverboon/posh/blob/master/Azure/Utilities/select-MyAzureRmSubscription.ps1