这篇文章给大家分享的是查询Azure虚拟机的创建记录的方法,相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。
其实我们可以直接通过Azure的PowerShell解决这个问题,只需要编写一个简单的脚本就可以了,首先运行以下命令,获取到Azure近三个月的所有log
$logs = Get-AzureRmLog -ResourceProvider Microsoft.Compute -StartTime (Get-Date).AddDays(-90) -Maxrecord 100000
foreach($log in $logs)
{
if(($log.OperationName.Value -eq 'Microsoft.Compute/virtualMachines/write') -and ($log.SubStatus.Value -eq 'Created'))
{
Write-Output "$($log.caller) created vm $($log.Id.split("/")[8]) at $($log.EventTimestamp) in Resource Group $($log.ResourceGroupName)"
}
}
这样就能看到VM创建的记录了!
那么如果想把这些信息汇总到Excel里呢?可以通过以下的代码即可!
[pscustomobject[]]$VMObjects = $null
foreach ($log in $logs) {
if (($log.OperationName.Value -eq 'Microsoft.Compute/virtualMachines/write') -and ($log.SubStatus.Value -eq 'Created')) {
Write-Output "$($log.caller) created vm $($log.Id.split("/")[8]) at $($log.EventTimestamp) in Resource Group $($log.ResourceGroupName)"
$VMObject = New-Object -TypeName psobject
$VMObject | Add-Member -MemberType NoteProperty -Name SubscriptionName -Value $SubscriptionName
$VMObject | Add-Member -MemberType NoteProperty -Name SubscriptionID -Value $SubscriptionID
$VMObject | Add-Member -MemberType NoteProperty -Name ResourceGroup -Value $log.ResourceGroupName
$VMObject | Add-Member -MemberType NoteProperty -Name VMName -Value $log.Id.split("/")[8]
$VMObject | Add-Member -MemberType NoteProperty -Name Time -Value $log.EventTimestamp
$VMObjects += $VMObject
}
}
$OutputPath="C:\vm.csv"
$VMObjects | Export-Csv -NoTypeInformation -LiteralPath $OutputPath
最后要说的是,这种方法只能收集到90天以内的日志,因为Azure平台开放给用户的最长时间的log就是90天
关于查询Azure虚拟机的创建记录的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。