添加到数组的Powershell错误

时间:2016-03-21 10:06:53

标签: powershell

您好我正在尝试运行脚本以将网络中的用户转换为数组,以便可以将其与我将要获得的其他数据(例如通讯组)一起输出到csv文件。

我正在运行的代码脚本发出错误:

  

方法调用失败,因为[System.Management.Automation.PSObject]不包含名为“op_Addition”的方法。

脚本是一个简单的for循环:

<configuration>
  <system.webServer>
    <staticContent>
        <mimeMap fileExtension=".xyz" mimeType="application/text" />
    </staticContent>
   </system.webServer>
</configuration>

尝试在互联网上寻找解决方案,但他们似乎没有解决任何问题。

1 个答案:

答案 0 :(得分:2)

不要为数组重用相同的变量名,以及要添加到数组的各个对象。在此,我已将PSObject变量重命名为$ActiveDirectoryObject

$ActiveDirectoryList=@() 
$UserDetails = get-aduser -filter {enabled -eq $true} -properties * | Select DisplayName,EmailAddress, SAMAccountName
$counter = 0
foreach($User in $UserDetails){

    $ActiveDirectoryObject = New-Object PSObject
    $Users = get-aduser $User.SAMAccountName -properties * 
    if(!$Users.EmailAddress -eq ""){
        $counter++
        $ActiveDirectoryObject | Add-Member -MemberType NoteProperty -Name "DisplayName" -Value $Users.DisplayName
        $ActiveDirectoryObject | Add-Member -MemberType NoteProperty -Name "Email Address" -Value $Users.EmailAddress 
        write-host $Users.DisplayName
        $ActiveDirectoryList += $ActiveDirectoryObject
    }
}