【发布时间】:2018-06-01 00:32:49
【问题描述】:
我在 Azure 中有一个虚拟机列表,我正在尝试将其转换为托管磁盘。
我有一个虚拟机列表,我从列表中读取并导出到 csv,捕获资源组名称和虚拟机名称,但是我似乎从整个订阅中获取虚拟机。
此外,当我尝试导入 csv 时,当我运行 $comps 时,它会在 csv 中返回正确的信息,但是我似乎无法将它们传递到下一行。
CSV 格式是
ResouceGroupName 名称 RG-01 vm-01 RG-01 vm-02 RG-01 vm-03 RG-01 vm-04
我正在尝试的代码是
Login-AzureRmAccount
$sub = Get-AzureRmSubscription | ogv -PassThru
Select-AzureSubscription -SubscriptionId $sub
$virtualmachines = Get-Content C:\temp\vm.txt | % {
Get-Azurermvm | select ResourceGroupName,Name | export-csv c:\temp\vm.csv -NoClobber -NoTypeInformation -Append
}
$comps = Import-Csv c:\temp\Vm.csv |
foreach ($Comp in $comps)
{
Stop-AzureRmVM -ResourceGroupName $_.ResourceGroupName -Name $_.Name -Force
ConvertTo-AzureRmVMManagedDisk -ResourceGroupName $_.ResourceGroupName -VMName $_.Name
}
提前谢谢..
【问题讨论】:
-
当我执行以下代码时,我得到了正确的输出
-
$comps = Import-Csv c:\temp\vm1.csv | ForEach-Object { Write-Host $_.ResourceGroupName Name $_.Name } -
您似乎没有使用管道中的列表。试试
Get-AzureVM -Name $_。
标签: azure azure-virtual-machine azure-powershell