Powershell ForEach-Object循环扭曲

时间:2015-05-29 12:51:48

标签: html powershell

我们使用这个PowerShell脚本来从AD中取出用户。我们最近从2008R2迁移到Windows Server 2012R2并注意到该脚本不再有效。经过几次调整后,除了这个循环之外,我已经成功地完成了所有工作:

Clone

这将在稍后通过电子邮件发送,因此我们有$mail += $nameofgroup | ForEach-Object {$mail += $_.Name+"<br>"} 变量。

这是一个代码示例:

从AD获取信息:

$mail

对数据进行排序:

$alla = Get-ADUser -filter 'name -like "*"' `
          -Properties extensionattribute2, extensionattribute14, extensionattribute15 | `
          Select-Object Name, Extensionattribute2, `
                        Extensionattribute14, Extensionattribute15

发布用户总数:

$nameofgroup = $alla | where { `
     $.Extensionattribute14 -like "nameofgroup" -and `
     $.Extensionattribute15 -like "FULL"} | `
     Select-Object Name | Sort-Object Name

然后是我之前的行,我想让它按“名称”列出用户

$mail += "nameofgroup: " + ($nameofgroup).count + "<br>"

有人能在最后一行发现错误吗?

更新

我只是尝试$mail += $nameofgroup | ForEach-Object {$mail += $_.Name+"<br>"} 来查看是否包含数据,所以问题或多或少都是为什么它不会将其打印到Write-Host $nameofgroup

1 个答案:

答案 0 :(得分:3)

您在循环内外追加$mail。决定其中一个:

$mail += $nameofgroup | ForEach-Object { $_.Name+"<br>" }

$nameofgroup | ForEach-Object { $mail += $_.Name+"<br>" }