Public/Get-Users.ps1
function Get-Users { param( [string]$ChannelId, [string]$EntityId, [string]$GroupId, [string]$TeamId, [string]$Domain = "teams-stag.appvity.com", [string]$SourceId, [string]$Cookie, [string]$Search ) $validate = '' if(!$Domain){ $validate = $validate + ', Domain' } if(!$ChannelId){ $validate = $validate + ', ChannelId' } if(!$EntityId){ $validate = $validate + ', EntityId' } if(!$GroupId){ $validate = $validate + ', GroupId' } if(!$TeamId){ $validate = $validate + ', TeamId' } if(!$SourceId){ $validate = $validate + ', SourceId' } if(!$Search){ $validate = $validate + ', Search' } if($validate) { $validate = $validate.TrimStart(',').TrimStart() + ' is require' Write-Host $validate -F Red return } #cookie $cookie = $Cookie if(!$cookie){ $cookie = Get-GraphOauthCookie #Write-Host '-------------cookie------------------' #Write-Host $cookie } #header $hd = New-Object 'System.Collections.Generic.Dictionary[String,String]' $hd.Add("x-appvity-channelId",$ChannelId) $hd.Add("x-appvity-entityId",$EntityId) $hd.Add("x-appvity-groupId",$GroupId) $hd.Add("x-appvity-teamid",$TeamId) $hd.Add("Content-Type","application/json") #session $session = New-Object Microsoft.PowerShell.Commands.WebRequestSession $ck = New-Object System.Net.Cookie $ck.Name = "graphNodeCookie" $ck.Value = $cookie $ck.Path = "/" $ck.Domain = $Domain $session.Cookies.Add($ck); $ret = Get-Projects -Url $Url -Cookie $cookie $SourceName = $ret | Where {$_._id -eq $SourceId} | Select source $Url = 'https://' + $Domain.TrimEnd('/') + '/api/tasks/getUsers/' + $SourceName.source + '/' + $SourceId +'?search=' + $Search $Params = @{ Uri = $Url Method = 'GET' Headers = $hd } $Result = Invoke-WebRequest @Params -WebSession $session $Content = $Result.Content | ConvertFrom-Json #$Content.value | Format-List #Write-Host $Content.value | ConvertFrom-Json return $Content } |