Closed amolsp777 closed 6 years ago
Hi!
Try adding some logging or detailed error handling. This error means one of those commands is getting an array of strings for Identity
parameter (this isn't allowed), most likely $membersGroup = Get-ADGroupMember $memgrpnm.name
Cheers!
Hello,
I am not able to run my scriptblock to fetch the ad group members after providing group name in Invoke-parallel.
getting this error `Get-RunspaceData : Cannot convert 'System.String[]' to the type 'Microsoft.ActiveDirectory.Management.ADUser' required by parameter 'Identity'. Specified method is not supported. At line:504 char:13
Here is the block
` $groupmemberBlock = {
[CmdletBinding()]
param (
[Parameter(Mandatory=$false)]
[string[]]$groupName # )
<#
if (Get-Module -ListAvailable -Name ActiveDirectory) { Write-Host "Module exists" } else { Write-Host "Module does not exist" Import-Module ActiveDirectory }
>
$ResultOut = @()
Write-Host "Checking Group - $groupName"
$members = Get-ADGroupMember $Group -recursive | Select-Object *
$members = Get-ADGroupMember -Identity $groupName #| Select-Object *
$ADgrp = Get-ADGroup $groupName -Properties *
$MemNames1 = $($members.Name)-join (",`n") $memCount = $($members.Name).count
$MemSAM = $($members.SamAccountName) -split "," -join (",`n")
$Results = New-Object Object $Results | Add-Member -Type NoteProperty -Name 'Group' -Value $groupName $Results | Add-Member -Type NoteProperty -Name 'MembersCount' -Value $memCount $Results | Add-Member -Type NoteProperty -Name 'MembersName' -Value $MemNames $Results | Add-Member -Type NoteProperty -Name 'info' -Value $ADgrp.info $Results | Add-Member -Type NoteProperty -Name 'ManagedBy' -Value $ADgrp.ManagedBy $Results | Add-Member -Type NoteProperty -Name 'DistinguishedName' -Value $ADgrp.DistinguishedName
$ResultOut += $Results
$ResultOut
}
$groups = $($grouplist.name)
$groups = "automation-apps"
$GroupMemberOut = Invoke-Parallel -InputObject $groups -ScriptBlock $groupmemberBlock -RunspaceTimeout 300 -NoCloseOnTimeout $GroupMemberOut`