This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
# Helper function for other cmdlets | |
#> | |
function ParseOperationDuration($durationString){ | |
# expected behaviour (should put in tests) | |
#(ParseOperationDuration "PT21.501S").ToString() # Timespan: 21.501 seconds | |
#(ParseOperationDuration "PT5M21.501S").ToString() # Timespan: 5 minutes 21.501 seconds | |
#(ParseOperationDuration "PT1H5M21.501S").ToString() # Timespan: 1 hour 5 minutes 21.501 seconds | |
#(ParseOperationDuration "PT 21.501S").ToString() # throws exception for unhandled format |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# replace account name, key and cors rules | |
# ... and yes, I've regenerated my key since pasting ;-) | |
azure storage cors set --account-name slsas --account-key fkc8U4c86RotjO/VHg4jNKVUO+OsmkVvK+a800zhAcB6HQTVCFLRaiIAvJ9UaciFNmpgGHkod5731WGpw3+k7Q== --blob --cors '[{"AllowedMethods":["GET","OPTIONS","PUT"],"AllowedOrigins":["https://corsstoragetest.azurewebsites.net"],"AllowedHeaders":["Accept","Accept-Encoding","Accept-Language","Access-Control-Request-Headers","Access-Control-Request-Method","Cache-Control","Connection","Content-Type","DNT","Host","Origin","Pragma","Referer","User-Agent","x-ms-blob-content-type","x-ms-blob-type"],"ExposedHeaders":[],"MaxAgeInSeconds":60}]' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
param($resourceGroupName) | |
# note that this requires jq: https://stedolan.github.io/jq/download/ | |
$deploymentName=$(azure group deployment list $resourceGroupName --json | jq "[.[] | {name:.name, timestamp: .properties.timestamp } ] | sort_by(.timestamp) | reverse | .[0].name" --raw-output) | |
azure group deployment operation list --resource-group $resourceGroupName --name $deploymentName --json | jq '[.[] | .properties | { provisioningState : .provisioningState, timestamp: .timestamp, resourceType:.targetResource.resourceType,resourceName:.targetResource.resourceName}] | sort_by(.timestamp)' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Pass the resource group name as the 1st parameter to this script | |
# Pass the number of deployments to skip as the 2nd parameter (optional) | |
resourceGroupName=$1 | |
if [ "x$2" = "x" ]; then deploymentsToSkip=0; else deploymentsToSkip=$2; fi | |
# Get the name of the last deployment | |
deploymentName=$(azure group deployment list $resourceGroupName --json | jq "[.[] | {name:.name, timestamp: .properties.timestamp } ] | sort_by(.timestamp) | reverse | .[$deploymentsToSkip].name" --raw-output) | |
# Get failed operations for the last deployment |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# gets information for non-succeeded deployment operations for the last deployment for the resource group specified in $resourceGroupName | |
Get-AzureResourceGroupDeployment -ResourceGroupName $resourceGroupName | sort -Descending -Property Timestamp | select -First 1 | Get-AzureResourceGroupDeploymentOperation | ?{ $_.Properties.ProvisioningState -ne "Succeeded" } | select -ExpandProperty Properties | ConvertTo-Json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function PascalName($name){ | |
$parts = $name.Split(" ") | |
for($i = 0 ; $i -lt $parts.Length ; $i++){ | |
$parts[$i] = [char]::ToUpper($parts[$i][0]) + $parts[$i].SubString(1).ToLower(); | |
} | |
$parts -join "" | |
} | |
function GetHeaderBreak($headerRow, $startPoint=0){ | |
$i = $startPoint | |
while( $i + 1 -lt $headerRow.Length) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Working on 1.0.0 preview of Azure PowerShell cmdlets | |
function GetAccessToken(){ | |
$psContext = Get-AzureRmContext | |
$context = [Microsoft.Azure.Common.Authentication.Models.AzureContext] $psContext | |
$account = $context.Account | |
$environment= $context.Environment | |
$tenant = $context.Tenant | |
$authFactory = [Microsoft.Azure.Common.Authentication.AzureSession]::AuthenticationFactory |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Configuration; | |
public static class CustomConfigurationManager | |
{ | |
private static CustomAppSettings _appSettings = new CustomAppSettings(); | |
public static CustomAppSettings AppSettings { get { return _appSettings; } } | |
} | |
public class CustomAppSettings | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function PascalName($name){ | |
$parts = $name.Split(" ") | |
for($i = 0 ; $i -lt $parts.Length ; $i++){ | |
$parts[$i] = [char]::ToUpper($parts[$i][0]) + $parts[$i].SubString(1).ToLower(); | |
} | |
$parts -join "" | |
} | |
function GetColumnInfo($headerRow, $propertyNames){ | |
$lastIndex = 0 | |
$lastName = $null |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[CmdletBinding()] | |
param ( | |
[string] $filename | |
) | |
$matches = $env:Path.Split(';') | %{ join-path $_ $filename} | ?{ test-path $_ } | |
if ($matches.Length -eq 0){ | |
"No matches found" | |
} else { |