This topic contains 2 replies, has 2 voices, and was last updated by
January 22, 2018 at 5:12 pm #91957ParticipantPoints: 25Rank: Member
I'm trying to add to a variable the result of three variables and it keeps giving me this error:
"Method invocation failed because [System.Management.Automation.PSObject] doesn't contain a method named 'op_Addition'."
Here is the code:
$Domain = (Get-ADDomain).DistinguishedName $Query = "Support" $DistinguishedNames = @() $DistinguishedNames = Get-ADuser -Filter "Name -like '*$Query*'" -SearchBase $Domain | Select-Object DistinguishedName $DistinguishedNames += Get-ADGroup -Filter "Name -like '*$Query*'" -SearchBase $Domain | Select-Object DistinguishedName $DistinguishedNames += Get-ADOrganizationalUnit -Filter "Name -like '*$Query*'" -SearchBase $Domain | Select-Object DistinguishedName
The problem is that I managed doing it a lot of times and now I just can't get it done...
What I'm trying to do is to keep in only one variable all the results found on a query for the word "Support" on a domain, something like this:
– – – – – – – – –
PS: I know that using Get-ADbject I can manage it better, but just wanted to know if there is a way because on Internet I found that the answer for it is just put this "$DistinguishedNames = @()" in the code.
January 22, 2018 at 5:37 pm #91958ParticipantPoints: 59Rank: Member
$DistinguishedNames = Get-ADuser ....
undoes the benefit of line 3
$DistinguishedNames = @()
Line 4 re-declares $DistinguishedNames as System.Object (Selected.Microsoft.ActiveDirectory.Management.ADUser) instead of System.Array which is what line 3 does.
To fix the script, change line 4 to read
$DistinguishedNames += Get-ADuser ....
For more information see https://superwidgets.wordpress.com/2018/01/01/practical-guide-to-powershell-arrays/
January 22, 2018 at 5:45 pm #91981ParticipantPoints: 25Rank: Member
Nice! Thanks a lot for the fast reply and attention!
The topic ‘op_Addition problem’ is closed to new replies.