2015-10-27 27 views
0

只是一個簡短的問題。我運行的代碼般的線條,將Azure PowerShell cmdlet插入字符串

$publicIP = Get-Content (Get-AzureVM -ServiceName $servicename -Name $vmsname | Get-AzureEndpoint | Select { $._vip }) 
$OSDisk = Get-Content (Get-AzureVM -ServiceName $servicename -Name $vmsname | Get-AzureOSDisk) 

而且它確實讓我的ip地址或變量,而是試圖把值轉換成CSV細胞時,它失敗。我認爲這是因爲它試圖添加額外的標籤,但我不知道如何獲取字符串並將變量設置爲這樣。有誰知道如何解決這個問題?

編輯:

如果與輸出:

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

是這樣的:

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

如何只是把 「http://example.cloudapp.net/」 作爲CSV入境?現在它試圖把所有的代碼塊放到CSV中,這給我帶來了糟糕的格式化錯誤。

+0

你怎麼把CSV中的價值?您複製並過去,或者您導出爲csv? – kekimian

+0

我附加每個參數的逗號,然後out-file和ConvertTo-CSV。然後在查詢之後,我拿起文件並執行Export-CSV。我要更新錯誤信息。 – rezey

+0

我重新編輯了這個。 – rezey

回答

0

SelectSelect-Object的別名,允許您從對象中獲取一個或多個屬性並使用它們創建新對象。

如果你想一個屬性擴展到只值,使用-ExpandProperty參數:

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

應該給你只是http://example.cloudapp.net/

而且,當你想將數據發送到一個CSV,你可以將對象傳遞給cmdlet Export-CSV,它將使用屬性名稱作爲標題,將數組中的對象用作行,將屬性用作列。

例子:

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

謝謝,但我最終得到了我想要的不同,它只是使用.Name或.Size將它放入字符串中。 – rezey