Вернуть fqdn или Publi c IP azure vm по параметру out шаблона arm и powershell - PullRequest
0 голосов
/ 23 марта 2020

Я хочу вернуть fqdn или Publi c IP из созданных azure vm по параметру out шаблона arm и powershell-script. Версия Powershell, как показано ниже на windows сервере 2016 года, -64 бит.

Версия: 5.1.2 Имя: Azure Автор: Microsoft Corporation PowerShellVersion: 3.0

Ниже это сценарий powershell, который я написал, и azure Vm был успешно создан, но никакие данные IP fqdn или Publi c не поступают из сценария Powershell. Я использую AZ модуль в powershell

param (    
    [parameter(Mandatory = $true)]
    [PSCustomObject] $parameterObject,

[parameter(Mandatory = $true)]
    [System.IO.FileInfo] $armTemplateFilePath,

    [parameter(Mandatory = $true)]
    [string]$clientId,

    [parameter(Mandatory = $true)]
    [string]$clientSecrete,

    [parameter(Mandatory = $true)]
    [string]$tenantId,

    [parameter(Mandatory = $true)]
    [string]$subscriptionId
) 

#createing PObject

$networkSecurityGroupRulesArry = New-Object -TypeName psobject
$networkSecurityGroupRulesArry | Add-Member -MemberType NoteProperty -Name networkSecurityGroupRules -Value $parameterObject.networkSecurityGroupRules 

$addressPrefixesArry = New-Object -TypeName psobject
$addressPrefixesArry | Add-Member -MemberType NoteProperty -Name addressPrefixes -Value $parameterObject.addressPrefixes 

$subnetsArry = New-Object -TypeName psobject
$subnetsArry | Add-Member -MemberType NoteProperty -Name subnets -Value $parameterObject.subnets 

#createing Hashtable type
$Parameters = New-Object -TypeName Hashtable

$Parameters.Add("params", @( $parameterObject.location,
"botni01",
"botnsg01",
$networkSecurityGroupRulesArry.networkSecurityGroupRules,
"default",
"botvnet01",
$addressPrefixesArry.addressPrefixes,
$subnetsArry.subnets ,                                                        
"botpubip01",
"Dynamic",
"Basic",
$parameterObject.virtualMachineName,
     $parameterObject.resourceGroupName,
$parameterObject.osDiskType,
$parameterObject.virtualMachineSize,
"demouser",
"Paaaw0rd@1234",
$parameterObject.publisher,
$parameterObject.offer,
$parameterObject.sku)
)
#Write-Host "****************************print Parameters -var ***********************************"
#$Parameters

#Connect with azure cloud and do creation process
$passwd = ConvertTo-SecureString $clientSecrete -AsPlainText -Force
$pscredential = New-Object System.Management.Automation.PSCredential($clientId , $passwd)

$subscription = Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant $tenantId -Subscription $subscriptionId
#Exist chk for RsgRp
$rg = Get-AzResourceGroup -Name $parameterObject.resourceGroupName -Location $parameterObject.location -ErrorAction SilentlyContinue -Verbose

if(($rg -eq $null) -or ($rg -eq '')) {
    $rg = New-AzResourceGroup -Name $parameterObject.resourceGroupName -Location  $parameterObject.location -Force  -Verbose
}

#$deployment start
$deployment = New-AzResourceGroupDeployment -Name deployvmbot  -ResourceGroupName  $rg.ResourceGroupName  -Mode Incremental `
            -TemplateFile  $armTemplateFilePath `
            -TemplateParameterObject  $Parameters  `  -Verbose

Как получить Publi c IP или fqdn из созданного azure vm ? Любое предложение или помощь

Спасибо, Anirban

...