-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGetVmsForMaintenance.ps1
59 lines (43 loc) · 1.65 KB
/
GetVmsForMaintenance.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# ARM Vms
Login-AzureRmAccount
$subscriptions = Get-AzureRmSubscription
foreach ($subscription in $subscriptions)
{
Set-AzureRmContext -SubscriptionName "Corp Test" -SubscriptionId $subscription.Id
Write-Host $subscription.Name
$vms = Get-AzureRmVM
foreach ($vm in $vms)
{
$vmStatus = Get-AzureRmVM -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name -Status
if ($vmStatus.MaintenanceRedeployStatus.IsCustomerInitiatedMaintenanceAllowed -eq $true)
{
Write-Output $vmStatus.Name
$vmStatus.Name | Out-File -FilePath C:\Temp\affectedvms.txt -Append:$true
}
}
}
# Classic VMs
Add-AzureAccount
$classicSubscriptions = Get-AzureSubscription
foreach ($subscription in $classicSubscriptions)
{
Write-Host $subscription.SubscriptionName
Set-AzureSubscription -SubscriptionId $subscription.SubscriptionId
$classicVms = Get-AzureVM
foreach ($vm in $classicVms)
{
$vmStatus = Get-AzureVM -ServiceName $vm.ServiceName -Name $vm.Name
if ($vmStatus.MaintenanceStatus.IsCustomerInitiatedMaintenanceAllowed -eq $true)
{
Write-Output $vmStatus.Name
$vmStatus.Name | Out-File -FilePath C:\Temp\affectedvms.txt -Append:$true
}
}
}
Install-Module Azure -Force
get-module Azure
Select-AzureSubscription -SubscriptionName "Corp Test"
$classicVmStatus = Get-AzureVM -ServiceName classicvm7617 -Name classicvm
$classicVmStatus.MaintenanceStatus
Set-AzureRmContext -subscriptionname "Arla Azure Enterprise"
Get-AzureRmVM -ResourceGroupName AZ-RG-PR-PFS-01 -Status | SELECT MaintenanceAllowed