View ListRGVMsizes.ps1
function ListRGVMsizes($Rg, $VmSize) | |
{ | |
if($Rg.Length -gt 0){ | |
$VMs = Get-AzVM -ResourceGroupName $Rg | |
foreach($vm in $VMs){ | |
if ($vm.HardwareProfile.VmSize -like "*"+$VmSize+"*"){ | |
Write-host $vm.Name ": " $vm.HardwareProfile.VmSize | |
} |
View add-azure-load-balancer-rule.ps1
#Make sure we are on the correct Azure Subscription | |
Get-AzContext | |
$lbName = "your-lb-name-here" | |
$rgName = "your-resource-group-name" | |
$probName = "the-lb-probe-name" | |
$bepName = "backend-pool" ### the backend pool that has the VMs | |
$port = 10000 ### the port to load balance on the backend pool servers | |
$ruleName = "rule-name" ###the name of the new rule |
View get-nics-nsg-asgs.ps1
Get-AzNetworkInterface | Select Name, ResourceGroupName,` | |
@{Name="NSG";Expression = {$_.NetworkSecurityGroup.Id.tostring().substring($_.NetworkSecurityGroup.Id.tostring().lastindexof('/')+1)}},` | |
@{Name="ASG";Expression={$_.IpConfigurations.ApplicationSecurityGroups.Id.tostring().substring($_.IpConfigurations.ApplicationSecurityGroups.Id.tostring().lastindexof('/')+1)}} | |
# optional if you want to add the below line for exporting to file | |
# | Export-Csv "nsg and asg info.csv" -Delimiter "," |
View find and delete unattached managed disks.ps1
# !!! Make sure you don't delete unintentionally disks you might need | |
# Set deleteUnattachedDisks=1 if you want to delete unattached Managed Disks | |
# Set deleteUnattachedDisks=0 if you want to see the Id of the unattached Managed Disks | |
$deleteUnattachedDisks=0 | |
$managedDisks = Get-AzDisk | |
$k=0 | |
$l=0 | |
foreach ($md in $managedDisks) { | |
# ManagedBy property stores the Id of the VM to which Managed Disk is attached to | |
# If ManagedBy property is $null then it means that the Managed Disk is not attached to a VM |
View Disable-Multiple-WSvcs.ps1
# this populates a variable with all Windows Services starting with 'Microsoft Dynamics' | |
$svcs = Get-Service | where DisplayName -Like "Microsoft Dynamics*" | |
foreach($svc in $svcs) | |
{ | |
Write-Host "Disabling service $($svc.Name)" | |
Set-Service -ServiceName $svc.Name -StartupType Disabled | |
} |
View assign network security group to vms.ps1
# The "nsg-nointernet" Network Security Group must exist | |
$VMs = Get-AzVM | where Name -Like "APPSRV-*" | |
foreach ($VM in $VMs) { | |
$nic = Get-AzNetworkInterface -ResourceId $VM.NetworkProfile.NetworkInterfaces.id | |
$Nsg = Get-AzNetworkSecurityGroup -Name "nsg-nointernet" | |
Write-Output "Adding NSG: $Nsg to $VM" | |
$nic.NetworkSecurityGroup = $Nsg | |
$nic | Set-AzNetworkInterface |
View assign application security group to vms.ps1
# The "asg-appservers" Application Security Group must exist | |
#Get all the VMs that their name start with APPSRV- | |
$VMs = Get-AzVM | where Name -Like "APPSRV-*" | |
foreach ($VM in $VMs) { | |
$nic = Get-AzNetworkInterface -ResourceId $VM.NetworkProfile.NetworkInterfaces.id | |
$Asg = Get-AzApplicationSecurityGroup -Name "asg-appservers" | |
Write-Host Adding ASG: $Asg.Name to $VM.Name | |
$nic.IpConfigurations[0].ApplicationSecurityGroups = $Asg |
View get-NIC-private-ips.ps1
Get-AzNetworkInterface -ResourceGroupName your-resoure-group-name-here ` | |
| ForEach { ` | |
$Interface = $_.Name; $IPs = $_ ` | |
| Get-AzNetworkInterfaceIpConfig ` | |
| Select PrivateIPAddress; Write-Host $Interface $IPs.PrivateIPAddress ` | |
} |
View get-vm-status-from-all-rgs.ps1
function Get-AzureVMStatus | |
{ | |
$RGs = Get-AzResourceGroup | |
foreach($RG in $RGs) | |
{ | |
$VMs = Get-AzVM -ResourceGroupName $RG.ResourceGroupName | |
foreach($VM in $VMs) | |
{ | |
$VMDetail = Get-AzVM -ResourceGroupName $RG.ResourceGroupName -Name $VM.Name -Status | |
$RGN = $VMDetail.ResourceGroupName |
NewerOlder