我从(Get-AzureVM)获取Name属性,从(Get-AzureSubscription -Current)获取SubscriptionName属性并将它们放入文本文件中。我试图让每个VM都在他们自己的行上,但由于某种原因,我最终得到了{vm1,vm2,vm3,vm4 ...}。当有超过4个对象时,它不会换行并执行'...'。如何让它显示这样的输出?
vm1 Subscription1
vm2 Subscription1
vm3 Subscription1
到目前为止,这是我的脚本:
cd C:\PowerShellThings
$machine = Get-AzureVM
$subscription = Get-AzureSubscription -Current
$props = @{
VMHostName = $machine.Name
Subscription = $subscription.SubscriptionName
}
New-Object PSObject -Property $props | select VMHostName,Subscription | ft -HideTableHeaders -Wrap | Out-File VM-Subs2.txt -Append -NoClobber
答案 0 :(得分:1)
不要用PS对象过度复杂化,尝试这些方法。
$VMs = Get-AzureVM
$subscription = Get-AzureSubscription -Current
ForEach ($VM in $VMs) {
"$($VM.Name): $($Subscription.SubscriptionName)" | out-file .\output.txt -append
}