Azure PowerShell cmdlet转换为字符串

时间:2015-10-27 16:43:45

标签: powershell azure

只是一个简单的问题。我正在运行像

这样的代码行
$publicIP = Get-Content (Get-AzureVM -ServiceName $servicename -Name $vmsname | Get-AzureEndpoint | Select { $._vip })
$OSDisk = Get-Content (Get-AzureVM -ServiceName $servicename -Name $vmsname | Get-AzureOSDisk)

它确实为我提供了IPAddress或变量,但在尝试将值放入csv单元格时,它失败了。我认为这是因为它试图添加额外的标签,但我不知道如何只获取字符串并将变量设置为那样。有谁知道如何解决这个问题?

编辑:

如果输出为:

Get-AzureVM -servicename "vm1" -name "vm1" | Select DNSName | Out-String

是这样的:

DNSName                                                                                                                     
-------                                                                                                                     
http://example.cloudapp.net/

如何将“http://example.cloudapp.net/”作为CSV条目输入?现在它正试图将所有代码块放入CSV中,这给了我糟糕的格式错误。

1 个答案:

答案 0 :(得分:0)

SelectSelect-Object的别名,允许您从对象中获取一个或多个属性,并使用它们创建新对象。

如果要将属性扩展为该值,请使用-ExpandProperty参数:

Get-AzureVM -servicename "vm1" -name "vm1" | Select -ExpandProperty DNSName 

应该只给你http://example.cloudapp.net/

此外,当您要将数据发送到CSV时,可以将对象传递给cmdlet Export-CSV,它将使用属性名称作为标题,将数组中的对象用作行,将属性用作列。< / p>

示例:

Get-ChildItem -File | Select Name, Size | Export-Csv c:\temp\filelist.csv