Powershell/Microsoft Azure/Azure-Migrate-Test.ps1
2023-07-04 12:59:44 +02:00

92 lines
2.4 KiB
PowerShell

[CmdletBinding()]
param (
[Parameter(Mandatory = $false)]
[string]
$SubsID,
[Parameter(Mandatory = $false)]
[string]
$FilePath = "$Env:USERPROFILE\Desktop\AzureMoveResourcesReport.docx"
)
Import-Module Az
Import-Module PSWriteWord
if ($SubsID) {
Connect-AzAccount -Subscription $SubsID | Out-Null
}
else {
Connect-AzAccount | Out-Null
}
$WordDocument = New-WordDocument $FilePath
#$res = Invoke-WebRequest -Uri https://raw.githubusercontent.com/tfitzmac/resource-capabilities/master/move-support-resources.csv -Method Get
#$list = Convertfrom-csv -InputObject $res.Content
$list = Import-Csv -Path "move-support-resources.csv"
$resGroups = Get-AzResourceGroup
foreach ($group in $resGroups) {
$resObjs = Get-AzResource -ResourceGroupName $group.ResourceGroupName
Add-WordText -WordDocument $WordDocument -Text "`nResources Group: $($group.ResourceGroupName)" -FontSize 20 -Color Blue -Supress $True
Add-WordLine -WordDocument $WordDocument -LineColor Blue -LineType double -Supress $True
foreach ($obj in $resObjs) {
$resName = $obj.Name
$resType = $obj.ResourceType
$resID = $obj.ResourceId
$resList = $list -match $obj.ResourceType
if ($resList) {
$i = [int]$resList[0].'Move Subscription'
if ($i -ne 1) {
Write-Host "`nOBJECT CAN _NOT_ BE MIGRATED: $resName has type $resType ($resID)" -ForegroundColor Yellow -BackgroundColor DarkRed
Add-WordText -WordDocument $WordDocument -Text "`nOBJECT CAN _NOT_ BE MIGRATED: $resName has type $resType ($resID)" -FontSize 12 -Color Red -Supress $True
}
else {
Write-Host "`nOBJECT SUPPORTED FOR MIGRATION: $resName has type $resType ($resID)" -ForegroundColor Green
Add-WordText -WordDocument $WordDocument -Text "`nOBJECT SUPPORTED FOR MIGRATION: $resName has type $resType ($resID)" -FontSize 12 -Color Green -Supress $True
}
}
else {
Write-Host "UNKNOWN OBJECT's TYPE: $resName has type $resType ($resID)" -ForegroundColor DarkRed -BackgroundColor Yellow
Add-WordText -WordDocument $WordDocument -Text "UNKNOWN OBJECT's TYPE: $resName has type $resType ($resID)" -FontSize 12 -Color Yellow -Supress $True
}
}
}
Save-WordDocument $WordDocument -Language 'en-US' -Supress $True -OpenDocument:$true