export-excel失败,大括号错了?

时间:2017-05-09 20:04:31

标签: powershell export-to-excel

我是PowerShell脚本的新手。我已经尝试使用一些Google-Fu并自己找出这个问题的答案,但很难找到这个特定问题的答案。我希望有人能提供帮助,并提前致谢!

我使用的是Luc Dekens的剧本,我是从他的博客(http://www.lucd.info/2016/09/13/orphaned-files-revisited/)获得的。在他博客的最后,他提供了一些代码(使用dfinke' s" export-excel"),它们将生成一个Excel电子表格。最后6行代码对我来说并不起作用。

我在这里粘贴了最后6行代码。然后,当我运行它时,我会粘贴我从ISE获得的错误。

6行代码:

$reportName = 'C:\users\jharriso-a\documents\ps\orphan-report.xlsx'

foreach($ds in (Get-Cluster -Name MyCluster | Get-Datastore | Get-VmwOrphan | 
                Group-Object -Property {$_.Folder.Split(']')[0].TrimStart('['))){
$ds.Group | Export-Excel -Path $reportName -WorkSheetname $ds.Name -AutoSize -AutoFilter -FreezeTopRow
}

这是我从ISE得到的错误:

C:\users\jharriso-a\documents\ps> .\get-vmworphan.ps1 -datastore 

vmware_templates_nfs_gu1c_gaantapsvm1
Group-Object : A positional parameter cannot be found that accepts argument '['.
At C:\users\jharriso-a\documents\ps\get-vmworphan.ps1:142 char:17
+ ...             Group-Object -Property {$_.Folder.Split(']')[0].TrimStart ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Group-Object], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.GroupObjectCommand

1 个答案:

答案 0 :(得分:1)

缺少'}'那里。你可以看到一个红色的下划线' {'如果您将该行粘贴到ISE中,则在属性之后。

我猜测应该在TrimStart之后插入结束括号(' [')。试试看它是否修复了错误。

foreach($ds in (Get-Cluster -Name MyCluster | Get-Datastore | Get-VmwOrphan |
                Group-Object -Property {$_.Folder.Split(']')[0].TrimStart('[')} )){
    $ds.Group | Export-Excel -Path $reportName -WorkSheetname $ds.Name -AutoSize -AutoFilter -FreezeTopRow

}