Powershell管道变量无输出

时间:2019-04-16 13:32:28

标签: powershell variables pipeline

我正在尝试从我的office365服务器中获取所有用户照片。我需要它们以Alias格式显示,即firstname.lastname

get-mailbox | % {Get-UserPhoto $_.alias} | % {Set-Content -path "c:\export\$($_.alias).jpg" -value $_.picturedata -Encoding byte}

此方法有效,但给我名字名字

有人告诉我,我需要通过管道传递邮箱参数,以执行我想做的事情。

get-mailbox -PipelineVariable Mailbox | % {Get-UserPhoto $Mailbox.alias} | % {Set-Content -path "c:\export\$($Mailbox.alias).jpg" -value $_.picturedata -Encoding byte}

这是我的新代码,但它不会将照片分散到目录中。有人知道为什么这行不通吗?

1 个答案:

答案 0 :(得分:1)

现在无法检查,但我认为这可能有效:

Get-Mailbox | ForEach-Object { 
    $photo = Get-UserPhoto -Identity $_.alias
    Set-Content -Path "c:\export\$($_.alias).jpg" -value $photo.picturedata -Encoding byte
}