2012-09-12 71 views
0

我沒有腳本等AQ上的powershell串分割()

$item_name = $item["Server_Name"] 
$result = nslookup $item_name #a nslookup code to get the server's ip 
$split = $result.tostring() 

CAZ使用分裂()直接將失敗,所以用於將字符串(),但它顯示像System.Object的[]

我怎樣才能從$結果

回答

0

確切內容調用的可執行並且存儲在一個變量的結果會給你在一個字符串數組對應於輸出的「線」的標準輸出。

通常,如果要將字符串數組的元素組合爲單個字符串,請使用-join <delimiter>。作爲

'one','two','three' -join 'xyz' 
'one','two','three' -join "`r`n" 

所以,你可以做

$result = nslookup <servername> 
$singleString = $result -join "`r`n" 
<process $singleString here> 

或者,如果您正在尋找在輸出特定的字符串模式,我喜歡用這種模式,它可以處理輸出的每一行分別:

nslookup <server> |?{ $_ -match 'someregex' } |%{ <use $matches here to process> } 
0

替代地使用-join用於取字符串數組和創建單個串,就可以了nslookup簡單管道輸出到Out-String例如:

$result = nslookup $server_name | Out-String