Skip to content

Instantly share code, notes, and snippets.

View kpatnayakuni's full-sized avatar
🏠
Working from home

Kiran Patnayakuni kpatnayakuni

🏠
Working from home
View GitHub Profile
# Create a Resource Group
$rgName = 'Test-RG'
$location = 'westus'
$null = New-AzResourceGroup -Name $rgName -Location $location
# Create a Virtual Machine
$vmName = 'Test-VM'
$userName = 'sysadmin'
$plainTextPassword = 'P@ssw0rd!'
$securePassword = $plainTextPassword | ConvertTo-SecureString -AsPlainText -Force
Function Test-Args
{
[cmdletbinding()]
param
(
[parameter(Mandatory)]
[string] $var1,
[parameter(Mandatory)]
[string] $var2,
[parameter(Mandatory = $false)]
@kpatnayakuni
kpatnayakuni / Demo-RegisterArgumentCompleterV3.ps1
Created January 22, 2020 07:39
Demo Register Argument Completer
$ScriptBlock = [scriptblock]::Create({
param ( $CommandName,
$ParameterName,
$WordToComplete,
$CommandAst,
$FakeBoundParameters )
$Shares = Get-SmbShare | Where-Object {$_.Name -like "$WordToComplete*"}
$Shares | ForEach-Object {
New-Object -Type System.Management.Automation.CompletionResult -ArgumentList $_.Name,
@kpatnayakuni
kpatnayakuni / Demo-RegisterArgumentCompleterV2.ps1
Created January 22, 2020 07:31
Demo Register Argument Completer
$ScriptBlock = [scriptblock]::Create({
param ( $CommandName,
$ParameterName,
$WordToComplete,
$CommandAst,
$FakeBoundParameters )
$CountriesByContinent = @{
'North America' = @('USA', 'Canada')
Europe = @('UK', 'Germany')
@kpatnayakuni
kpatnayakuni / Demo-RegisterArgumentCompleterV1.ps1
Created January 22, 2020 07:26
Demo Register Argument Completer
Function Get-Country
{
[CmdLetBinding()]
param
(
[parameter(Mandatory = $false)]
[ValidateSet('''North America''', 'Europe', 'Asia', 'Oceania')]
[string] $Continent,
[parameter(Mandatory = $true)]
[string] $CountryName
@kpatnayakuni
kpatnayakuni / Demo-ArgumentCompleterV2.ps1
Created January 21, 2020 12:30
Demo Argument Completer Attribute
Function Get-Country
{
[CmdLetBinding()]
param
(
[parameter(Mandatory = $false)]
[ValidateSet('''North America''', 'Europe', 'Asia', 'Oceania')]
[string] $Continent,
[parameter(Mandatory = $true)]
[ArgumentCompleter( {
@kpatnayakuni
kpatnayakuni / Demo-ArgumentCompleterV1.ps1
Created January 21, 2020 12:26
Demo Argument Completer Attribute
Function Get-Country
{
[CmdLetBinding()]
param
(
[parameter(Mandatory = $true)]
[ArgumentCompleter( {
param ( $CommandName,
$ParameterName,
$WordToComplete,
@kpatnayakuni
kpatnayakuni / Demo-DynamicValidateSetV1.ps1
Created January 21, 2020 12:16
Demo Dynamic ValidateSet
class SupportedCountries : System.Management.Automation.IValidateSetValuesGenerator
{
[string[]] GetValidValues()
{
## Write your code here
$Countries = @('India', 'USA', 'UK', 'Canada', 'Australia')
return $Countries
}
}
@kpatnayakuni
kpatnayakuni / Demo-ValidateSetV1.ps1
Created January 21, 2020 12:05
Demo ValidateSet Parameter Attribute
Function Get-Country
{
[CmdLetBinding()]
param
(
[parameter(Mandatory = $true)]
[ValidateSet('India', 'USA', 'UK', 'Canada', 'Australia')]
[string] $CountryName
)
Function Get-LastRebootTime
{
[CmdLetBinding()]
param
(
[parameter(Mandatory)]
[string] $ResourceGroupName,
[string] $VMName
)