2016-03-21 21 views
0

こんにちは私は、ネットワーク内のユーザーを配列に取得するためにスクリプトを実行しようとしています。これは、配布のような他のデータと一緒にCSVファイルに出力することができますグループ。私が実行しているコードスクリプトがエラーを与えているPowershellエラーが配列に追加されています

Method invocation failed because [System.Management.Automation.PSObject] doesn't contain a method named 'op_Addition'.

スクリプトは、forループ単純です:

ソリューションのためのインターネット上で探しているが、そうではないしようとしました
[email protected]() 
$UserDetails = get-aduser -filter {enabled -eq $true} -properties * | Select DisplayName,EmailAddress, SAMAccountName 
$counter = 0 
foreach($User in $UserDetails){ 

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

何かを解決するようだ。

+2

を '$ ActiveDirectoryList'は' PSObject' –

+0

'$ ActiveDirectoryList + = $ ActiveDirectoryList'は非常に疑わしい点として、あなたがそれをインスタンス化してきた、配列ではありません... – Joey

+0

配列に配列を追加していますが、とにかく願っています。 '$ ActiveDirectoryList = = $ ActiveDirectoryList'は –

答えて

1

アレイに同じ変数名、およびアレイに追加する個々のオブジェクトを再使用しないでください。私は$ActiveDirectoryObjectからPSObject変数と改名しました。ここ:

[email protected]() 
$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 
    } 
} 
+0

ありがとう、私は実際に同僚によって書かれたスクリプトに従っていた、彼は彼のスクリプトで同じだった。彼はそれが働いたので、私は今までそれがなかったと信じる理由はなかった!ありがとうございましたバージョンの作品! –

関連する問題