我正在为 vmware 制作一个在 powershell (powerCLI) 中运行的脚本。我尝试将自动报告导出到 csv 文件,但我不知道如何解决几个问题。
我不知道如何导出它们的所有参数。
“虚拟机工作位置”我可以导出 mashine 所在的磁盘,但我不知道如何导出所有带有文件夹的路径。
域/工作组
计算机名称当我尝试导出名称时,我得到的名称带有域“name.domainname.com”(这很奇怪,因为我的 VM 不在域中,但在工作组中) 名称我的意思是操作系统内部的名称,不在 esxi 中,因为我从这里得到了 vm 的 esxi 名称
$name = (get-vm name_maschine|select-object name).name
或者很简单,当循环参数是 mashine 的名称时,我只导出一个参数
不太重要的参数
4. 主机正在工作的 vCenter 的名称
- 主机正在工作的数据中心的名称
代码:
connect-viserver -server IP-ADDRES -user root -password PASSWORD
Get-View -ViewType VirtualMachine | %{
New-Object PSObject -Property @{
# mashine name
'Mashine name' = $_.Name
#date when edited
'Date' = Get-Date
# resource pull
'pull' = (Get-VM $_.Name | Get-ResourcePool | select-object name).name
#disk where is mashine
'Datastore' = [system.String]::Join(",",($_.Storage.PerDatastoreUsage | %{Get-View $_.Datastore} | %{$_.Name}))
}
}