在powershell中如何访问当前对象属性

时间:2015-03-27 09:32:48

标签: powershell azure

第一个和第二个$_.Name用于容器。对于每个容器,我希望过滤出容器中文件的名称,所以在Where-Object我使用$_.Name,我假设它是文件的名称但是$_.不断引用容器的名称而不是文件名。如何按文件名过滤掉。

$containers = Get-AzureStorageContainer -Context $ctx

    $containers|ForEach-Object{

    Write-Host 'Container: ' $_.Name

    $fileName = Get-AzureStorageBlob -Context $ctx -Container $_.Name|Where-Object {$_.Name -contains '.vhd'}    

    }

1 个答案:

答案 0 :(得分:0)

如果您需要在循环内执行多个操作,我建议您避免使用$containers | ForEach-Object之类的语法。

使用foreach ($container in $containers)尝试使用insead,因此您的代码将类似于

foreach ($container in $containers) {
    Write-Host 'Container: ' $container.Name
    $fileName = Get-AzureStorageBlob -Context $ctx -Container $container.Name | Where-Object {$_.Name -contains '.vhd'}
}