Public/Get-KB4User.ps1
<#
.SYNOPSIS Retrieve KnowBe4 user information. Official KnowBe4 documentation: https://developer.knowbe4.com/rest/reporting#tag/Users .PARAMETER Active Switch to return only Active users .PARAMETER Archived Switch to return only Archived (disabled) users .PARAMETER GroupID Returns all users that are members of a specified group .PARAMETER ExpandGroup Switch that includes additional group information in the response such as the name and type .PARAMETER UserID Returns information about a specific user .EXAMPLE Get-KB4User Returns a list of all users .EXAMPLE Get-KB4User -UserID 667542 Returns a specific user .EXAMPLE Get-KB4User -Active Returns a list of all active users .EXAMPLE Get-KB4User -GroupID 3264 -ExpandGroup Returns a list of all members of the Group, expands group to provide additional details #> function Get-KB4User { param ( [switch]$Active, [switch]$Archived, [int]$GroupID, [switch]$ExpandGroup, [int]$UserID ) $Parameters = @{ Uri = "/v1/users" Method = "Get" } if ($Active) {$Parameters.Uri = "$($Parameters.Uri)/?status=active"} if ($Archived) {$Parameters.Uri = "$($Parameters.Uri)/?status=archived"} if ($GroupID) {$Parameters.Uri = "$($Parameters.Uri)/?group_id=$GroupID"} if ($ExpandGroup) {$Parameters.Uri = "$($Parameters.Uri)/?expand=group"} if ($UserID) {$Parameters.Uri = "/v1/users/$UserID"} $result = Invoke-KB4Method @Parameters $result } |