export-csv 错误 - 不允许使用空管道元素
export-csv error - an empty pipe element is not allowed
希望这里有一个快速简单的...
我有以下脚本来检查特定的 vlan ID,然后向我显示正在使用该 ID 的虚拟机
foreach($vm in (get-vm)){
if (Get-NetworkAdapter -vm $vm.name |?{$_.NetworkName -eq "vlan13_VM"}){$vm.name} | export-csv -path c:\scripts\vlans.csv -NoTypeInformation
}
我在最后添加了 export-csv 命令作为 id,就像要放入 csv 中的详细信息,然后我可以通过电子邮件发送(之后将尝试编写电子邮件部分的脚本)
我无法获得用于创建 csv 文件的 export-csv 选项,因为它返回一个错误
c:\scripts\checkvlan.ps1:2 char84
不允许空管道元素
char84 是管道在 export-csv 之前开始的地方
谁能告诉我我做错了什么?
谢谢
尝试:
foreach($vm in (get-vm)){
if (Get-NetworkAdapter -vm $vm.name |?{$_.NetworkName -eq "vlan13_VM"})
{$vm.name | export-csv -path c:\scripts\vlans.csv -NoTypeInformation -append }
}
Get-VM | where { (Get-NetworkAdapter -vm $_.name).NetworkName -eq "vlan13_VM" } | select Name | export-csv -path c:\scripts\vlans.csv -NoTypeInformation
或者如果您想保留 foreach
结构,
...使用 Out-File
而不是 Export-CSV
foreach ( $vm in (Get-VM) ) { if ( (Get-NetworkAdapter -vm $vm.name).NetworkName -eq "vlan13_VM" ) {$vm.name | out-file c:\scripts\vlans.csv -Append} }
...或将列表收集到哈希表中并转换为讨论的对象 here
$out = @()
foreach ( $vm in (Get-VM) ) { if ( (Get-NetworkAdapter -vm $vm.name).NetworkName -eq "vlan13_VM" ) {$out += $vm.name} }
$out | Select-Object @{Name='Name';Expression={$_}} | Export-CSV -path c:\scripts\vlans.csv -NoTypeInformation
希望这里有一个快速简单的...
我有以下脚本来检查特定的 vlan ID,然后向我显示正在使用该 ID 的虚拟机
foreach($vm in (get-vm)){
if (Get-NetworkAdapter -vm $vm.name |?{$_.NetworkName -eq "vlan13_VM"}){$vm.name} | export-csv -path c:\scripts\vlans.csv -NoTypeInformation
}
我在最后添加了 export-csv 命令作为 id,就像要放入 csv 中的详细信息,然后我可以通过电子邮件发送(之后将尝试编写电子邮件部分的脚本)
我无法获得用于创建 csv 文件的 export-csv 选项,因为它返回一个错误
c:\scripts\checkvlan.ps1:2 char84
不允许空管道元素char84 是管道在 export-csv 之前开始的地方
谁能告诉我我做错了什么?
谢谢
尝试:
foreach($vm in (get-vm)){
if (Get-NetworkAdapter -vm $vm.name |?{$_.NetworkName -eq "vlan13_VM"})
{$vm.name | export-csv -path c:\scripts\vlans.csv -NoTypeInformation -append }
}
Get-VM | where { (Get-NetworkAdapter -vm $_.name).NetworkName -eq "vlan13_VM" } | select Name | export-csv -path c:\scripts\vlans.csv -NoTypeInformation
或者如果您想保留 foreach
结构,
...使用 Out-File
而不是 Export-CSV
foreach ( $vm in (Get-VM) ) { if ( (Get-NetworkAdapter -vm $vm.name).NetworkName -eq "vlan13_VM" ) {$vm.name | out-file c:\scripts\vlans.csv -Append} }
...或将列表收集到哈希表中并转换为讨论的对象 here
$out = @()
foreach ( $vm in (Get-VM) ) { if ( (Get-NetworkAdapter -vm $vm.name).NetworkName -eq "vlan13_VM" ) {$out += $vm.name} }
$out | Select-Object @{Name='Name';Expression={$_}} | Export-CSV -path c:\scripts\vlans.csv -NoTypeInformation