Public/Get-HipchatUser.ps1
#requires -version 5 <# .SYNOPSIS Returns a list of all HipChat users. .DESCRIPTION Returns a list of all existing HipChat user accounts. .PARAMETER ApiToken Required: Your HipChat API Token. You can obtain an API Token from the HipChat website by navigating to Account Settings > API Access. .NOTES Version: 1.0 Author: Corey Fonseca Creation Date: 3/15/17 Purpose/Change: Added object output. .EXAMPLE Get-HipchatUser -ApiToken 'REXsCauSe553gsoIJg1Gj4zwNsSAwS' Returns a list of all HipChat users' names and mention names. #> function Get-HipchatUser{ [CmdletBinding()] param( [Parameter(Mandatory=$true,ValueFromPipeline=$true,HelpMessage="Enter your API Token")][Alias('ApiKey')][string]$ApiToken ) BEGIN { $Uri = "https://api.hipchat.com/v2/user?auth_token="+$ApiToken } PROCESS { # Make API Call # $Call = ( Invoke-WebRequest ` -Uri $Uri ` -Method GET ` -ContentType "application/json" ) # Check response status code # if ($Call.StatusCode -eq '200') { # Convert data and select what we need # $Users = (ConvertFrom-Json $Call.Content).Items # Remove unused variables to save memory # Remove-Variable -Name Call # Create an object for each user # foreach ($User in $Users) { $UserObject = New-Object -TypeName PSObject $UserObject | Add-Member ` -MemberType 'NoteProperty' ` -Name 'Name' ` -Value $User.name $UserObject | Add-Member ` -MemberType 'NoteProperty' ` -Name 'MentionName' ` -Value $User.mention_name Write-Output $UserObject } } else { Write-Error "Failed to retreive users from HipChat servers." } } } |