-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path_StartAllVms.ps1
28 lines (24 loc) · 1.35 KB
/
_StartAllVms.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$SolutionPrefix = "ttvdtrn"
$AzureSubscriptionName = "Microsoft Azure"
$ResourceGroupName = ($SolutionPrefix + "resg002")
Write-Host "Login to azure account"
Login-AzureRmAccount
Write-Host "Selecting subscription '$($AzureSubscriptionName)'"
$subscription = Get-AzureRmSubscription -SubscriptionName $AzureSubscriptionName #add -TenantId if subscription name is not unique
Select-AzureRmSubscription -SubscriptionId $subscription.SubscriptionId | Out-String | Write-Verbose
Write-Host "Getting resource group '$($ResourceGroupName)'"
if (-not (Get-AzureRmResourceGroup -Name $ResourceGroupName -ErrorAction SilentlyContinue)) {
Write-Host "Resource group does not exists. Exiting"
Return
}
foreach($vm in (Get-AzureRmVM -ResourceGroupName $ResourceGroupName))
{
Write-Host "Starting: $($vm.Name)"
Start-AzureRmVM -ResourceGroupName $ResourceGroupName -Name $vm.Name
$pipName = (Get-AzureRmNetworkInterface -ResourceGroupName $ResourceGroupName | Where-Object {($_.VirtualMachine.id).Split("/")[-1] -like $vm.Name}).IpConfigurations.PublicIpAddress.Id.Split("/")[-1]
$pip = (Get-AzureRmPublicIpAddress -ResourceGroupName $ResourceGroupName -Name $pipName).IpAddress
$pdns = (Get-AzureRmPublicIpAddress -ResourceGroupName $ResourceGroupName -Name $pipName).DnsSettings.Fqdn
Write-Host "Public IP: $pip"
Write-Host "DNS Name : $pdns"
Write-Host ""
}