,,,,这次来分享一个自己写的脚本,任何脚本当然都是有原始需求推动的,这个脚本的功能其实很简单,他可以帮助我们快速筛选出Azure账号中SQL Server的VM,写这个脚本的原因也是因为有人问,现在环境中有哪些VM是SQL Server的,通过平台本身的门户其实很难筛选出来这些信息,所以特地写了一个脚本,当然,这个脚本还是有一些限制,只能筛选出+ SQL Azure VM许可证模式的虚拟机,对于直接在VM内部安装SQL Server的虚拟机,因为平台本身不会记录这类的信息,所以从平台层面是没办法筛选出来的
,,,,以下是脚本的内容,分享一下
function Write-DateTimeMessage { ,,,param ( ,,,,,,,(参数(时间=Mandatory 假美元)) ,,,,,,,(开关)警告,美元 ,,,,,,,(参数(时间=Mandatory 真正的美元)) ,,,,,,,(字符串)美元的消息, ,,,,,,,(参数(时间=Mandatory 假美元)) ,,,,,,,[string] ForegroundColor美元 ,,,,,,, ,,,) ,,,, ,,,, ,,,if (警告) ,,,{ ,,,,,,,Write-Warning (美元(Get-Date -UFormat & # 39; % Y/% m/% d % H: % m: % & # 39;), +,“, *,,, +,美元消息) ,,,} ,,, ,,,{ ,,,,,,,if (ForegroundColor美元) ,,,,,,,{ ,,,,,,,,,,,Write-Host (美元(Get-Date -UFormat & # 39; % Y/% m/% d % H: % m: % & # 39;), +,“, *,,, +,美元消息),-ForegroundColor ForegroundColor美元 ,,,,,,,} ,,,,,,, ,,,,,,,{ ,,,,,,,,,,,Write-Host (美元(Get-Date -UFormat & # 39; % Y/% m/% d % H: % m: % & # 39;), +,“, *,,, +,美元消息) ,,,,,,,} ,,,} ,,,, } [pscustomobject []] SQLVMObjects 美元;=零美元 $ Subscriptions =Get-AzureRmSubscription foreach (subscription 美元;拷贝订阅美元) { ,,,, ,,,“Querying 订阅:“ ,,,, ,,,SubscriptionID 美元;=,Subscription.Id美元 ,,,SubscriptionName 美元;=,Subscription.Name美元 ,,,Select-AzureRmSubscription -SubscriptionId SubscriptionID 美元;-InformationAction SilentlyContinue ,,,, ,,,Get-AzureRmResourceGroup |, % { ,,,,,,,RG 美元;=$ _ ,,,,,,,Write-DateTimeMessage -Message “Checking Resource Group 美元($ RG.ResourceGroupName)“; ,,,,,,,AzureVMs 美元;=,Get-AzureRmVM -ResourceGroupName RG.ResourceGroupName美元 ,,,,,,, ,,,,,,,if (null 美元;-ne  AzureVMs美元) ,,,,,,,{ ,,,,,,,,,,, ,,,,,,,,,,,AzureVMs 美元;|,% { ,,,,,,,,,,,,,,,AzureVM 美元;=$ _ ,,,,,,,,,,,,,,,如果(AzureVM.StorageProfile.ImageReference.Publisher 美元;-like “* *“状态"置疑") ,,,,,,,,,,,,,,,{ ,,,,,,,,,,,,,,,,,,,Write-DateTimeMessage -Message “Find SQL Server VM 美元($ AzureVM.Name),拷贝resource group 美元($ RG.ResourceGroupName)“警告 ,,,,,,,,,,,,,,,,,,,SQLVMObject 美元;=,New-Object -TypeName psobject ,,,,,,,,,,,,,,,,,,,SQLVMObject 美元;|,Add-Member -MemberType NoteProperty -Name SubscriptionName -Value SubscriptionName美元 ,,,,,,,,,,,,,,,,,,,SQLVMObject 美元;|,Add-Member -MemberType NoteProperty -Name SubscriptionID -Value SubscriptionID美元 null null null null null null null null null null null null null null null null null null null null null null null null null null使用PowerShell快速获取Azure中的SQL Server VM