Azure – PowerShell setting Blob Tiers

function Set-AgedBlobsToTier  { PARAM ( [Parameter(Mandatory = $true)] [int] $AgeInDays, [Parameter(Mandatory = $true)] [Microsoft.WindowsAzure.Storage.Blob.Standardblobtier] $StorageTier, [Parameter(Mandatory = $true)] [string]$ResourceGroupName, [Parameter(Mandatory = $true)] [string]$StorageAccountName )    $StorageAccountName = $StorageAccountName.ToLower()      if  (Get-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -EA SilentlyContinue)  { $StorageAccountKeys    = Get-AzureRmStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName $StorageAccountKey     = $StorageAccountKeys[0].Value $StorageAccountContext = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey…


Windows 10 and “no longer located in”

After numerous updates to Windows 10 on the fast track, I realised there were a half-dozen folders that seemed to be rubbish yet I could not delete. ‘C:\Windows.Old\Users\lukeb\AppData\Local\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\LocalState..’ I ended up renaming them as DELETEME95-99 and thought a reboot or maybe a CHKDSK/F would see them gone. But no. Still saying they don’t exist but…


PowerShell – reinstall Windows 10 Store app

#Reinstall-StoreApp.ps1 #Requires -RunAsAdministrator $Store=Get-Appxpackage -Allusers | Where-Object {$_.PackageFullName -match ‘WindowsStore’} | Sort-Object -Property Version -Descending | Select-Object -First 1 $PackageName=$Store.PackageFullName $StoreManifest = “C:\Program Files\WindowsApps\$PackageName\AppxManifest.xml” if (Test-Path -Path $StoreManifest) { Add-AppxPackage -register $StoreManifest -DisableDevelopmentMode }


PowerShell Azure – Get-AzureExtensionHighestVersion

function Get-AzureExtensionHighestVersion {    [CmdletBinding()]    PARAM ([string]$extension, [string] $location=’AustraliaEast’)     $sortProps = @{Expression = “PublisherName”; Descending = $True}, @{Expression = “Type”; Descending = $True},@{Expression = “Version”; Descending = $True}    $Results= Get-AzureRmVmImagePublisher -Location $location |      Get-AzureRmVMExtensionImageType |       Get-AzureRmVMExtensionImage |        Where-Object {$_.Type -LIKE “*$extension*”}   #replace version…


Azure – DSC automation (Windows vs Linux)

{ “$schema”: “”, “contentVersion”: “”, “parameters”: { “OS”: { “type”: “string”, “defaultValue”: “Windows”, “allowedValues”: [ “Linux”, “Windows” ], “metadata”: { “description”: “DSC extension selection setting. Linux, Windows” } }, “vmName”: { “type”: “string”, “metadata”: { “description”: “Name of the existing VM to apply the DSC configuration to” } }, “modulesUrl”: { “type”: “string”, “defaultValue”: “”,…


PowerShell – DSC Linux MOFs and logs

working with DSC on Linux, there are a few things to know that don’t seem to be documented anywhere obvious.  OMI stuff  lives in /opt/omi/lib /opt/omi/bin  For troubleshooting you look at the logs which are here: cat /var/opt/omi/log/omiserver.log         #the OMI CIM server cat /var/opt/omi/log/dsc.log               #the LCM and DSC logging. Start your…


PowerShell Azure – Invoke-AzureRmVMRunCommand

Invoke-AzureRmVMRunCommand has a parameter -CommandId which the single example shows as -CommandId ‘RunPowerShellScript’ -ScriptPath ‘sample.ps1’ but the question that raises is – what other values can I give? A colleague showed me how to get the list of various CommandId values: Get-AzureRmVMRunCommandDocument -Location AustraliaEast EnableRemotePS – Configure the machine to enable remote PowerShell. (Windows) Ipconfig – List…


PowerShell – SharpCompress and untar

#needed to untar a tar.gz file and found the SharpCompress package, which will do it all! #region InstallPackage SharpCompress if  (-NOT (Get-Package -Name ‘SharpCompress’ -ErrorAction SilentlyContinue)) { #need to install it if (Find-Package -Name ‘SharpCompress’ -ErrorAction SilentlyContinue) { Find-Package -Name SharpCompress  | Install-Package -Verbose } else { if (-NOT (Get-PackageSource -Name ‘ v2’ -ErrorAction SilentlyContinue))…


PowerShell – Get-Credential and certificates

Matthew Bongiovi  had a discussion on Get-Credential and how it works. So useful, that I thought I’d cut/paste it here so that you and I can refer to it in future! See below:   The Get-Credential cmdlet generates the prompt using the CredUIPromptForCredentials function. The documentation for that function says: “In the case of credentials…


PowerShell Azure – find a sku offer publisher

# who is the publisher for FreeBSD? What offer? What sku? # Find-AzureSKU bsd function Find-AzureSKU  {   Param ([parameter(Mandatory=$true,HelpMessage=’Enter a partial string of the  product’)]   [String] $sku,   [String] $location=’australiaeast’  )   $publishers = Get-AzureRmVMImagePublisher -location $location   foreach ($publisher in $publishers) {      $offers=Get-AzureRmVMImageOffer -location $location `        …