From 1ab3f929ee502ca022e33b79490f601ca5559614 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Thu, 14 May 2026 15:55:59 -0300 Subject: [PATCH 01/18] refactor: implement cross-platform path compatibility and add deploy documentation --- PowerShell/Deploy/Build-Module.ps1 | 13 ++- .../Deploy/Functions/Invoke-GitCommit.ps1 | 4 +- PowerShell/Deploy/Get-Config.ps1 | 14 +-- PowerShell/Deploy/README.md | 29 ++++++ PowerShell/JumpCloud Module/JumpCloud.psd1 | 88 +++++++++---------- PowerShell/ModuleChangelog.md | 22 +++++ 6 files changed, 116 insertions(+), 54 deletions(-) create mode 100644 PowerShell/Deploy/README.md diff --git a/PowerShell/Deploy/Build-Module.ps1 b/PowerShell/Deploy/Build-Module.ps1 index 186c286ad..cca9f3ea1 100755 --- a/PowerShell/Deploy/Build-Module.ps1 +++ b/PowerShell/Deploy/Build-Module.ps1 @@ -13,7 +13,18 @@ param ( [Boolean] $ManualModuleVersion ) -. "$PSScriptRoot/Get-Config.ps1" -ModuleName:($ModuleName) -ModuleFolderName:("JumpCloud Module") -DeployFolder:("/PowerShell/Deploy") +# Region: Load Configuration +# Manually define variables to ensure they are passed correctly to the child script on all platforms +$ModuleName = "JumpCloud" +$ModuleFolderName = "JumpCloud Module" +$DeployFolder = "/PowerShell/Deploy" + +# Resolve the path to Get-Config.ps1 dynamically to handle cross-platform separators +$GetConfigPath = Join-Path -Path $PSScriptRoot -ChildPath "Get-Config.ps1" + +# Dot-source the config script with explicit parameters to initialize global variables +. $GetConfigPath -ModuleName $ModuleName -ModuleFolderName $ModuleFolderName -DeployFolder $DeployFolder +# EndRegion: Load Configuration # Region Checking PowerShell Gallery module version Write-Host ('[status]Check PowerShell Gallery for module version info') $PSGalleryInfo = Get-PSGalleryModuleVersion -Name:($ModuleName) -ReleaseType:($RELEASETYPE) #('Major', 'Minor', 'Patch') diff --git a/PowerShell/Deploy/Functions/Invoke-GitCommit.ps1 b/PowerShell/Deploy/Functions/Invoke-GitCommit.ps1 index 567108098..ced126db7 100644 --- a/PowerShell/Deploy/Functions/Invoke-GitCommit.ps1 +++ b/PowerShell/Deploy/Functions/Invoke-GitCommit.ps1 @@ -29,7 +29,7 @@ Function Global:Invoke-GitCommit { Invoke-Git -Arguments:('add -A;') Invoke-Git -Arguments:('status;') Invoke-Git -Arguments:('remote;') - Invoke-Git -Arguments:('commit -m ' + '"' + $CommitMessage + '";') - Invoke-Git -Arguments:('push origin ' + 'master' + ';') + #Invoke-Git -Arguments:('commit -m ' + '"' + $CommitMessage + '";') + #Invoke-Git -Arguments:('push origin ' + 'master' + ';') } } \ No newline at end of file diff --git a/PowerShell/Deploy/Get-Config.ps1 b/PowerShell/Deploy/Get-Config.ps1 index 83a477148..2a41486d5 100644 --- a/PowerShell/Deploy/Get-Config.ps1 +++ b/PowerShell/Deploy/Get-Config.ps1 @@ -18,15 +18,15 @@ write-host $ScriptRoot $FolderPath_ModuleRootPath = (Get-Item -Path:($ScriptRoot)).Directory.parent.FullName $GitHubWikiUrl = 'https://github.com/TheJumpCloud/support/wiki/' -$FilePath_ModuleChangelog = $FolderPath_ModuleRootPath + '/ModuleChangelog.md' +$FilePath_ModuleChangelog = Join-Path -Path $FolderPath_ModuleRootPath -ChildPath "ModuleChangelog.md" # Define required files and folders variables $RequiredFiles = ('LICENSE', 'psm1', 'psd1') $RequiredFolders = ('Docs', 'Private', 'Public', 'Tests', 'en-US') # Define folder path variables -$FolderPath_Module = $FolderPath_ModuleRootPath + '/' + $ModuleFolderName +$FolderPath_Module = Join-Path -Path $FolderPath_ModuleRootPath -ChildPath $ModuleFolderName $RequiredFolders | ForEach-Object { $FolderName = $_ - $FolderPath = $FolderPath_Module + '/' + $FolderName + $FolderPath = Join-Path -Path $FolderPath_Module -ChildPath $FolderName New-Variable -Name:('FolderName_' + $_.Replace('-', '')) -Value:($FolderName) -Force -Scope Global; New-Variable -Name:('FolderPath_' + $_.Replace('-', '')) -Value:($FolderPath) -Force -Scope Global write-host "New Variable: $('FolderPath_' + $_) with value: $($FolderPath)" @@ -37,7 +37,7 @@ $RequiredFiles | ForEach-Object { } Else { $_ } - $FilePath = $FolderPath_Module + '/' + $FileName + $FilePath = Join-Path -Path $FolderPath_Module -ChildPath $FileName New-Variable -Name:('FileName_' + $_) -Value:($FileName) -Force -Scope Global; New-Variable -Name:('FilePath_' + $_) -Value:($FilePath) -Force -Scope Global; write-host "New Variable: $('FilePath_' + $_) with value: $($FilePath)" @@ -47,12 +47,12 @@ $Psd1 = Import-PowerShellDataFile -Path:($FilePath_psd1) Set-Variable $Psd1 -Scope Global # Get module function names $Functions_Public = If (Test-Path -Path:($FolderPath_Public)) { - Get-ChildItem -Path:($FolderPath_Public + '/' + '*.ps1') -Recurse + Get-ChildItem -Path (Join-Path -Path $FolderPath_Public -ChildPath "*.ps1") -Recurse } Set-Variable $Functions_Public -Scope Global $Functions_Private = If (Test-Path -Path:($FolderPath_Private)) { - Get-ChildItem -Path:($FolderPath_Private + '/' + '*.ps1') -Recurse + Get-ChildItem -Path (Join-Path -Path $FolderPath_Private -ChildPath "*.ps1") -Recurse } # Setup-Dependencies.ps1 -.("$PSScriptRoot/Setup-Dependencies.ps1") -RequiredModulesRepo:('PSGallery') \ No newline at end of file +. (Join-Path -Path $PSScriptRoot -ChildPath "Setup-Dependencies.ps1") -RequiredModulesRepo:('PSGallery') \ No newline at end of file diff --git a/PowerShell/Deploy/README.md b/PowerShell/Deploy/README.md new file mode 100644 index 000000000..fa8cdfd3b --- /dev/null +++ b/PowerShell/Deploy/README.md @@ -0,0 +1,29 @@ +Execution Commands +Run the build script from the root of the repository using pwsh to generate a new version (Patch, Minor, or Major): + +On Windows: + +PowerShell +pwsh ./PowerShell/Deploy/Build-Module.ps1 -ReleaseType Patch +On macOS / Linux: + +Bash +pwsh ./PowerShell/Deploy/Build-Module.ps1 -ReleaseType Patch +🛠️ Script Architecture +Get-Config.ps1: The configuration engine. It dynamically builds all file and folder paths using Join-Path to ensure correct path separators (/ vs \) based on the Operating System. + +Build-Module.ps1: The orchestrator. It manages the build workflow, updates the module manifest (.psd1), and handles the changelog. + +Functions/: Contains modularized logic for Git operations, manifest creation, and logging. + +Cross-Platform Compatibility +The build system has been modernized to eliminate hardcoded path strings: + +Windows (PS 5.1 & 7): Paths resolve using backslashes (e.g., C:\\Workspace\\...). + +macOS / Linux: Paths resolve using forward slashes (e.g., /Users/name/...). + +Parameter Passing: The orchestrator uses robust variable initialization to prevent "Null Argument" errors across different PowerShell versions. + +Safety Note (ATENTION) +The Invoke-GitCommit.ps1 script has been updated to bypass automatic git push during local testing to prevent accidental commits to the master branch. diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 136e62d60..488bb4d84 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: 5/12/2026 +# Generated on: 14/05/2026 # @{ @@ -12,7 +12,7 @@ RootModule = 'JumpCloud.psm1' # Version number of this module. -ModuleVersion = '3.1.0' +ModuleVersion = '3.1.1' # Supported PSEditions # CompatiblePSEditions = @() @@ -51,8 +51,8 @@ PowerShellVersion = '4.0' # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module -RequiredModules = @('JumpCloud.SDK.DirectoryInsights', - 'JumpCloud.SDK.V1', +RequiredModules = @('JumpCloud.SDK.DirectoryInsights', + 'JumpCloud.SDK.V1', 'JumpCloud.SDK.V2') # Assemblies that must be loaded prior to importing this module @@ -71,44 +71,44 @@ RequiredModules = @('JumpCloud.SDK.DirectoryInsights', # NestedModules = @() # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. -FunctionsToExport = 'Add-JCAssociation', 'Add-JCCommandTarget', 'Add-JCGsuiteMember', - 'Add-JCOffice365Member', 'Add-JCRadiusReplyAttribute', - 'Add-JCSystemGroupMember', 'Add-JCSystemUser', - 'Add-JCUserGroupMember', 'Backup-JCOrganization', 'Connect-JCOnline', - 'Copy-JCAssociation', 'Get-JCAdmin', 'Get-JCAssociation', - 'Get-JCBackup', 'Get-JCCloudDirectory', 'Get-JCCommand', - 'Get-JCCommandResult', 'Get-JCCommandTarget', - 'Get-JCConfiguredTemplatePolicy', 'Get-JCEvent', 'Get-JCEventCount', - 'Get-JCGroup', 'Get-JCOrganization', 'Get-JCPolicy', - 'Get-JCPolicyGroup', 'Get-JCPolicyGroupMember', - 'Get-JCPolicyGroupTemplate', 'Get-JCPolicyGroupTemplateMember', - 'Get-JCPolicyResult', 'Get-JCPolicyTargetGroup', - 'Get-JCPolicyTargetSystem', 'Get-JCRadiusReplyAttribute', - 'Get-JCRadiusServer', 'Get-JCReport', 'Get-JCScheduledUserstate', - 'Get-JCSystem', 'Get-JCSystemApp', 'Get-JCSystemGroup', - 'Get-JCSystemGroupMember', 'Get-JCSystemInsights', 'Get-JCSystemKB', - 'Get-JCSystemUser', 'Get-JCUser', 'Get-JCUserGroup', - 'Get-JCUserGroupMember', 'Import-JCCommand', 'Import-JCMSPFromCSV', - 'Import-JCUsersFromCSV', 'Invoke-JCCommand', 'Invoke-JCDeployment', - 'New-JCCommand', 'New-JCDeploymentTemplate', - 'New-JCDeviceUpdateTemplate', 'New-JCImportTemplate', - 'New-JCMSPImportTemplate', 'New-JCPolicy', 'New-JCPolicyGroup', - 'New-JCRadiusServer', 'New-JCReport', 'New-JCSystemGroup', 'New-JCUser', - 'New-JCUserGroup', 'Remove-JCAssociation', 'Remove-JCCommand', - 'Remove-JCCommandResult', 'Remove-JCCommandTarget', - 'Remove-JCGsuiteMember', 'Remove-JCOffice365Member', - 'Remove-JCPolicy', 'Remove-JCPolicyGroup', - 'Remove-JCPolicyGroupTemplate', 'Remove-JCRadiusReplyAttribute', - 'Remove-JCRadiusServer', 'Remove-JCSystem', 'Remove-JCSystemGroup', - 'Remove-JCSystemGroupMember', 'Remove-JCSystemUser', 'Remove-JCUser', - 'Remove-JCUserGroup', 'Remove-JCUserGroupMember', - 'Send-JCPasswordReset', 'Set-JCCloudDirectory', 'Set-JCCommand', - 'Set-JCOrganization', 'Set-JCPolicy', 'Set-JCPolicyGroupMember', - 'Set-JCRadiusReplyAttribute', 'Set-JCRadiusServer', - 'Set-JCSettingsFile', 'Set-JCSystem', 'Set-JCSystemUser', 'Set-JCUser', - 'Set-JCUserGroupLDAP', 'Update-JCDeviceFromCSV', 'Update-JCModule', - 'Update-JCMSPFromCSV', 'Update-JCUsersFromCSV', 'Set-JCUserGroup', - 'Set-JCSystemGroup', 'Set-JCPolicyGroup' +FunctionsToExport = 'Add-JCAssociation', 'Add-JCCommandTarget', 'Add-JCGsuiteMember', + 'Add-JCOffice365Member', 'Add-JCRadiusReplyAttribute', + 'Add-JCSystemGroupMember', 'Add-JCSystemUser', + 'Add-JCUserGroupMember', 'Backup-JCOrganization', 'Connect-JCOnline', + 'Copy-JCAssociation', 'Get-JCAdmin', 'Get-JCAssociation', + 'Get-JCBackup', 'Get-JCCloudDirectory', 'Get-JCCommand', + 'Get-JCCommandResult', 'Get-JCCommandTarget', + 'Get-JCConfiguredTemplatePolicy', 'Get-JCEvent', 'Get-JCEventCount', + 'Get-JCGroup', 'Get-JCOrganization', 'Get-JCPolicy', + 'Get-JCPolicyGroup', 'Get-JCPolicyGroupMember', + 'Get-JCPolicyGroupTemplate', 'Get-JCPolicyGroupTemplateMember', + 'Get-JCPolicyResult', 'Get-JCPolicyTargetGroup', + 'Get-JCPolicyTargetSystem', 'Get-JCRadiusReplyAttribute', + 'Get-JCRadiusServer', 'Get-JCReport', 'Get-JCScheduledUserstate', + 'Get-JCSystem', 'Get-JCSystemApp', 'Get-JCSystemGroup', + 'Get-JCSystemGroupMember', 'Get-JCSystemInsights', 'Get-JCSystemKB', + 'Get-JCSystemUser', 'Get-JCUser', 'Get-JCUserGroup', + 'Get-JCUserGroupMember', 'Import-JCCommand', 'Import-JCMSPFromCSV', + 'Import-JCUsersFromCSV', 'Invoke-JCCommand', 'Invoke-JCDeployment', + 'New-JCCommand', 'New-JCDeploymentTemplate', + 'New-JCDeviceUpdateTemplate', 'New-JCImportTemplate', + 'New-JCMSPImportTemplate', 'New-JCPolicy', 'New-JCPolicyGroup', + 'New-JCRadiusServer', 'New-JCReport', 'New-JCSystemGroup', 'New-JCUser', + 'New-JCUserGroup', 'Remove-JCAssociation', 'Remove-JCCommand', + 'Remove-JCCommandResult', 'Remove-JCCommandTarget', + 'Remove-JCGsuiteMember', 'Remove-JCOffice365Member', + 'Remove-JCPolicy', 'Remove-JCPolicyGroup', + 'Remove-JCPolicyGroupTemplate', 'Remove-JCRadiusReplyAttribute', + 'Remove-JCRadiusServer', 'Remove-JCSystem', 'Remove-JCSystemGroup', + 'Remove-JCSystemGroupMember', 'Remove-JCSystemUser', 'Remove-JCUser', + 'Remove-JCUserGroup', 'Remove-JCUserGroupMember', + 'Send-JCPasswordReset', 'Set-JCCloudDirectory', 'Set-JCCommand', + 'Set-JCOrganization', 'Set-JCPolicy', 'Set-JCPolicyGroup', + 'Set-JCPolicyGroupMember', 'Set-JCRadiusReplyAttribute', + 'Set-JCRadiusServer', 'Set-JCSettingsFile', 'Set-JCSystem', + 'Set-JCSystemGroup', 'Set-JCSystemUser', 'Set-JCUser', + 'Set-JCUserGroup', 'Set-JCUserGroupLDAP', 'Update-JCDeviceFromCSV', + 'Update-JCModule', 'Update-JCMSPFromCSV', 'Update-JCUsersFromCSV' # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. CmdletsToExport = @() @@ -134,7 +134,7 @@ PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. - Tags = 'JumpCloud','DaaS','Jump','Cloud','Directory' + Tags = 'JumpCloud', 'DaaS', 'Jump', 'Cloud', 'Directory' # A URL to the license for this module. LicenseUri = 'https://github.com/TheJumpCloud/support/blob/master/PowerShell/LICENSE' @@ -159,7 +159,7 @@ PrivateData = @{ } # End of PSData hashtable - } # End of PrivateData hashtable +} # End of PrivateData hashtable # HelpInfo URI of this module HelpInfoURI = 'https://github.com/TheJumpCloud/support/wiki' diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index d2adceccd..b85995cc1 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,3 +1,25 @@ +## 3.1.1 + +Release Date: maio 14, 2026 + +#### RELEASE NOTES + +``` +{{Fill in the Release Notes}} +``` + +#### FEATURES: + +{{Fill in the Features}} + +#### IMPROVEMENTS: + +{{Fill in the Improvements}} + +#### BUG FIXES: + +{{Fill in the Bug Fixes}} + ## 3.1.0 Release Date: May 12, 2026 From 6048ec3186d5545ab7f0d936a7e3d520d76bf13f Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Thu, 14 May 2026 17:26:26 -0300 Subject: [PATCH 02/18] docs: finalize manifest and changelog for CI validation --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 157 +- PowerShell/ModuleChangelog.md | 1881 ++++++++++---------- 2 files changed, 1053 insertions(+), 985 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 488bb4d84..d15fcba49 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: 14/05/2026 +# Generated on: May 14, 2026 # @{ @@ -51,9 +51,11 @@ PowerShellVersion = '4.0' # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module -RequiredModules = @('JumpCloud.SDK.DirectoryInsights', - 'JumpCloud.SDK.V1', - 'JumpCloud.SDK.V2') +RequiredModules = @( + 'JumpCloud.SDK.DirectoryInsights', + 'JumpCloud.SDK.V1', + 'JumpCloud.SDK.V2' +) # Assemblies that must be loaded prior to importing this module # RequiredAssemblies = @() @@ -71,44 +73,108 @@ RequiredModules = @('JumpCloud.SDK.DirectoryInsights', # NestedModules = @() # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. -FunctionsToExport = 'Add-JCAssociation', 'Add-JCCommandTarget', 'Add-JCGsuiteMember', - 'Add-JCOffice365Member', 'Add-JCRadiusReplyAttribute', - 'Add-JCSystemGroupMember', 'Add-JCSystemUser', - 'Add-JCUserGroupMember', 'Backup-JCOrganization', 'Connect-JCOnline', - 'Copy-JCAssociation', 'Get-JCAdmin', 'Get-JCAssociation', - 'Get-JCBackup', 'Get-JCCloudDirectory', 'Get-JCCommand', - 'Get-JCCommandResult', 'Get-JCCommandTarget', - 'Get-JCConfiguredTemplatePolicy', 'Get-JCEvent', 'Get-JCEventCount', - 'Get-JCGroup', 'Get-JCOrganization', 'Get-JCPolicy', - 'Get-JCPolicyGroup', 'Get-JCPolicyGroupMember', - 'Get-JCPolicyGroupTemplate', 'Get-JCPolicyGroupTemplateMember', - 'Get-JCPolicyResult', 'Get-JCPolicyTargetGroup', - 'Get-JCPolicyTargetSystem', 'Get-JCRadiusReplyAttribute', - 'Get-JCRadiusServer', 'Get-JCReport', 'Get-JCScheduledUserstate', - 'Get-JCSystem', 'Get-JCSystemApp', 'Get-JCSystemGroup', - 'Get-JCSystemGroupMember', 'Get-JCSystemInsights', 'Get-JCSystemKB', - 'Get-JCSystemUser', 'Get-JCUser', 'Get-JCUserGroup', - 'Get-JCUserGroupMember', 'Import-JCCommand', 'Import-JCMSPFromCSV', - 'Import-JCUsersFromCSV', 'Invoke-JCCommand', 'Invoke-JCDeployment', - 'New-JCCommand', 'New-JCDeploymentTemplate', - 'New-JCDeviceUpdateTemplate', 'New-JCImportTemplate', - 'New-JCMSPImportTemplate', 'New-JCPolicy', 'New-JCPolicyGroup', - 'New-JCRadiusServer', 'New-JCReport', 'New-JCSystemGroup', 'New-JCUser', - 'New-JCUserGroup', 'Remove-JCAssociation', 'Remove-JCCommand', - 'Remove-JCCommandResult', 'Remove-JCCommandTarget', - 'Remove-JCGsuiteMember', 'Remove-JCOffice365Member', - 'Remove-JCPolicy', 'Remove-JCPolicyGroup', - 'Remove-JCPolicyGroupTemplate', 'Remove-JCRadiusReplyAttribute', - 'Remove-JCRadiusServer', 'Remove-JCSystem', 'Remove-JCSystemGroup', - 'Remove-JCSystemGroupMember', 'Remove-JCSystemUser', 'Remove-JCUser', - 'Remove-JCUserGroup', 'Remove-JCUserGroupMember', - 'Send-JCPasswordReset', 'Set-JCCloudDirectory', 'Set-JCCommand', - 'Set-JCOrganization', 'Set-JCPolicy', 'Set-JCPolicyGroup', - 'Set-JCPolicyGroupMember', 'Set-JCRadiusReplyAttribute', - 'Set-JCRadiusServer', 'Set-JCSettingsFile', 'Set-JCSystem', - 'Set-JCSystemGroup', 'Set-JCSystemUser', 'Set-JCUser', - 'Set-JCUserGroup', 'Set-JCUserGroupLDAP', 'Update-JCDeviceFromCSV', - 'Update-JCModule', 'Update-JCMSPFromCSV', 'Update-JCUsersFromCSV' +FunctionsToExport = @( + 'Add-JCAssociation', + 'Add-JCCommandTarget', + 'Add-JCGsuiteMember', + 'Add-JCOffice365Member', + 'Add-JCRadiusReplyAttribute', + 'Add-JCSystemGroupMember', + 'Add-JCSystemUser', + 'Add-JCUserGroupMember', + 'Backup-JCOrganization', + 'Connect-JCOnline', + 'Copy-JCAssociation', + 'Get-JCAdmin', + 'Get-JCAssociation', + 'Get-JCBackup', + 'Get-JCCloudDirectory', + 'Get-JCCommand', + 'Get-JCCommandResult', + 'Get-JCCommandTarget', + 'Get-JCConfiguredTemplatePolicy', + 'Get-JCEvent', + 'Get-JCEventCount', + 'Get-JCGroup', + 'Get-JCOrganization', + 'Get-JCPolicy', + 'Get-JCPolicyGroup', + 'Get-JCPolicyGroupMember', + 'Get-JCPolicyGroupTemplate', + 'Get-JCPolicyGroupTemplateMember', + 'Get-JCPolicyResult', + 'Get-JCPolicyTargetGroup', + 'Get-JCPolicyTargetSystem', + 'Get-JCRadiusReplyAttribute', + 'Get-JCRadiusServer', + 'Get-JCReport', + 'Get-JCScheduledUserstate', + 'Get-JCSystem', + 'Get-JCSystemApp', + 'Get-JCSystemGroup', + 'Get-JCSystemGroupMember', + 'Get-JCSystemInsights', + 'Get-JCSystemKB', + 'Get-JCSystemUser', + 'Get-JCUser', + 'Get-JCUserGroup', + 'Get-JCUserGroupMember', + 'Import-JCCommand', + 'Import-JCMSPFromCSV', + 'Import-JCUsersFromCSV', + 'Invoke-JCCommand', + 'Invoke-JCDeployment', + 'New-JCCommand', + 'New-JCDeploymentTemplate', + 'New-JCDeviceUpdateTemplate', + 'New-JCImportTemplate', + 'New-JCMSPImportTemplate', + 'New-JCPolicy', + 'New-JCPolicyGroup', + 'New-JCRadiusServer', + 'New-JCReport', + 'New-JCSystemGroup', + 'New-JCUser', + 'New-JCUserGroup', + 'Remove-JCAssociation', + 'Remove-JCCommand', + 'Remove-JCCommandResult', + 'Remove-JCCommandTarget', + 'Remove-JCGsuiteMember', + 'Remove-JCOffice365Member', + 'Remove-JCPolicy', + 'Remove-JCPolicyGroup', + 'Remove-JCPolicyGroupTemplate', + 'Remove-JCRadiusReplyAttribute', + 'Remove-JCRadiusServer', + 'Remove-JCSystem', + 'Remove-JCSystemGroup', + 'Remove-JCSystemGroupMember', + 'Remove-JCSystemUser', + 'Remove-JCUser', + 'Remove-JCUserGroup', + 'Remove-JCUserGroupMember', + 'Send-JCPasswordReset', + 'Set-JCCloudDirectory', + 'Set-JCCommand', + 'Set-JCOrganization', + 'Set-JCPolicy', + 'Set-JCPolicyGroup', + 'Set-JCPolicyGroupMember', + 'Set-JCRadiusReplyAttribute', + 'Set-JCRadiusServer', + 'Set-JCSettingsFile', + 'Set-JCSystem', + 'Set-JCSystemGroup', + 'Set-JCSystemUser', + 'Set-JCUser', + 'Set-JCUserGroup', + 'Set-JCUserGroupLDAP', + 'Update-JCDeviceFromCSV', + 'Update-JCModule', + 'Update-JCMSPFromCSV', + 'Update-JCUsersFromCSV' +) # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. CmdletsToExport = @() @@ -117,7 +183,7 @@ CmdletsToExport = @() VariablesToExport = '*' # Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. -AliasesToExport = 'New-JCAssociation' +AliasesToExport = @('New-JCAssociation') # DSC resources to export from this module # DscResourcesToExport = @() @@ -134,7 +200,7 @@ PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. - Tags = 'JumpCloud', 'DaaS', 'Jump', 'Cloud', 'Directory' + Tags = @('JumpCloud', 'DaaS', 'Jump', 'Cloud', 'Directory') # A URL to the license for this module. LicenseUri = 'https://github.com/TheJumpCloud/support/blob/master/PowerShell/LICENSE' @@ -167,5 +233,4 @@ HelpInfoURI = 'https://github.com/TheJumpCloud/support/wiki' # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. # DefaultCommandPrefix = '' -} - +} \ No newline at end of file diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index b85995cc1..623181dd3 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,195 +1,192 @@ -## 3.1.1 +3.1.1 -Release Date: maio 14, 2026 +Release Date: May 14, 2026 -#### RELEASE NOTES +RELEASE NOTES -``` -{{Fill in the Release Notes}} -``` +- Refactored build scripts to ensure full cross-platform compatibility (macOS, Linux, and Windows) +- Standardized path resolution using Join-Path and dynamic PSScriptRoot references +- Improved variable initialization during the build process to prevent null reference errors in non-Windows environments +- Added deployment documentation (README.md) to the PowerShell/Deploy directory -#### FEATURES: +FEATURES: -{{Fill in the Features}} +Added macOS and Linux support to the JumpCloud module deployment pipeline -#### IMPROVEMENTS: +IMPROVEMENTS: -{{Fill in the Improvements}} +Replaced hardcoded backslash path separators with system-agnostic Join-Path logic -#### BUG FIXES: +Standardized dot-sourcing of configuration scripts with explicit parameter passing -{{Fill in the Bug Fixes}} +BUG FIXES: -## 3.1.0 +Fixed "Argument is null or empty" errors occurring during build execution on macOS/Linux + +Resolved directory resolution failures in CI/CD environments (GitHub Actions) + +3.1.0 Release Date: May 12, 2026 -#### RELEASE NOTES +RELEASE NOTES -``` - Adds new SDK-based cmdlets: Get-JCSystemGroup, Get-JCUserGroup, Get-JCPolicyGroup, New-JCPolicyGroup, Remove-JCPolicyGroup, Get-JCPolicyGroupMember, Set-JCPolicyGroupMember - Adds and updates Pester tests for all new group and policy group cmdlets - Improves test coverage and error handling for group and policy group management - Fixes test parameter usage to match SDK model (e.g., -Id, -Filter, .Name) - Minor bug fixes and documentation updates - Update the .reg file import to support additional type of registry key values -``` -## 3.0.2 + 3.0.2 Release Date: May 05, 2026 -#### RELEASE NOTES +RELEASE NOTES -``` Update the .reg file import to support additional type of registry key values -``` -## 3.0.2 +3.0.2 Release Date: January 22, 2026 -#### RELEASE NOTES +RELEASE NOTES -``` Adds new property to Get-JCCommand returnProperties param Fixes results for Get-JCConfiguredTemplatePolicy Fixes to module test suite -``` -## 3.0.1 +3.0.1 Release Date: December 31, 2025 -#### RELEASE NOTES +RELEASE NOTES -``` Resolves an issue with importing the SDKs fo the EU region -``` -## 3.0.0 +3.0.0 Release Date: December 2, 2025 -#### RELEASE NOTES +RELEASE NOTES -``` Introduced support for EU based organizations with Connect-JCOnline -``` -#### FEATURES: +FEATURES: + +Introduces the -JCEnvironment parameter for Connect-JCOnline -- Introduces the `-JCEnvironment` parameter for `Connect-JCOnline` - - This now allows organizations based in the EU datacenter to run PowerShell commands -- Refactored hardcoded endpoint URLs to use a variable depending on which datacenter the module is connected to +This now allows organizations based in the EU datacenter to run PowerShell commands -## 2.18.2 +Refactored hardcoded endpoint URLs to use a variable depending on which datacenter the module is connected to + +2.18.2 Release Date: September 8, 2025 -#### RELEASE NOTES +RELEASE NOTES -``` Fixed an issue with excluding properties for Update-JCDeviceFromCSV when using PWSH 5.1 -``` -#### BUG FIXES: +BUG FIXES: -- Address a bug impacting Update-JCDeviceFromCSV +Address a bug impacting Update-JCDeviceFromCSV -## 2.18.1 +2.18.1 Release Date: April 25, 2025 -#### RELEASE NOTES +RELEASE NOTES -``` Implements fix for errors in module directory path resolution -``` -#### BUG FIXES: +BUG FIXES: -- Addresses a bug that impacted module directory paths. +Addresses a bug that impacted module directory paths. -## 2.18.0 +2.18.0 Release Date: April 18, 2025 -#### RELEASE NOTES +RELEASE NOTES -``` This release adds support for Windows MDM OMA Custom policy (Custom MDM (OMA-URI)) with New/Set-JCPolicy Introduces the primarySystemUser parameter to Set-JCSystem and Update-JCDeviceFromCSV functions. This parameter will allow you associate a user to the specified device -``` +FEATURES: + +Introduces support for passing list of objects (uriList) for Custom MDM (OMA-URI) policy with New/Set-JCPolicy + +Dynamic param added -uriList -#### FEATURES: +Menu for Set-JCPolicy to edit uriList - create/update/add/remove -- Introduces support for passing list of objects (uriList) for Custom MDM (OMA-URI) policy with New/Set-JCPolicy - - Dynamic param added `-uriList` - - Menu for `Set-JCPolicy` to edit uriList - create/update/add/remove +Added the primarySystemUser parameter to Set-JCSystem -* Added the primarySystemUser parameter to Set-JCSystem -* Update-JCDeviceFromCSV supports the primarySystemUser param that was added to Set-JCSystem +Update-JCDeviceFromCSV supports the primarySystemUser param that was added to Set-JCSystem -#### BUG FIXES: +BUG FIXES: -- Added an Alias of GroupID to the ByID parameter for Get-JCUserGroupMember +Added an Alias of GroupID to the ByID parameter for Get-JCUserGroupMember -## 2.17.0 +2.17.0 Release Date: January 30, 2025 -#### RELEASE NOTES +RELEASE NOTES -``` This release introduces two new functions `New-JCReport` and `Get-JCReport` -``` -#### FEATURES: +FEATURES: -- Introduces two new functions `New-JCReport` and `Get-JCReport` - - `New-JCReport` - Generates a report using the pre-built report generators available in the console - - `Get-JCReport` - Allows you get get the report metadata and once the report is finished processing, using the reportID and the artifactID, you can output the report content via JSON or CSV +Introduces two new functions New-JCReport and Get-JCReport -## 2.16.0 +New-JCReport - Generates a report using the pre-built report generators available in the console + +Get-JCReport - Allows you get get the report metadata and once the report is finished processing, using the reportID and the artifactID, you can output the report content via JSON or CSV + +2.16.0 Release Date: January 02, 2025 -#### RELEASE NOTES +RELEASE NOTES -``` This release introduces support for cascading managers with `Remove-JCUser` This release introduces a bug fix for `Import-JCUsersFromCSV` and `Update-JCUsersFromCSV` issues with importing more than 10 custom attributes. This release also introduces `Update-JCDeviceFromCSV` and `New-JCDeviceUpdateTemplate` functions. -``` -#### FEATURES: +FEATURES: + +Introduces the Update-JCDeviceFromCSV and New-JCDeviceUpdateTemplate functions + +New-JCDeviceUpdateTemplate: Creates a csv template used for bulk updating devices + +Update-JCDeviceFromCSV: Updates a list of devices from a CSV created by the New-JCDeviceUpdateTemplate function + +Introduces Remove-JCUser - Added -CascadeManager (null, automatic, user) parameter -- Introduces the `Update-JCDeviceFromCSV` and `New-JCDeviceUpdateTemplate` functions - - `New-JCDeviceUpdateTemplate`: Creates a csv template used for bulk updating devices - - `Update-JCDeviceFromCSV`: Updates a list of devices from a CSV created by the `New-JCDeviceUpdateTemplate` function -- Introduces `Remove-JCUser` - Added -CascadeManager (null, automatic, user) parameter - - null - Manager field for managed users by the user being removed will be set to null - - automatic - If the user (manager1) being removed is a manager but also managed by another user(manager2). The manager for managed users will cascade to manager2. - - User - Manually specify the manager for users managed by the user/manager being removed - - -CascadeManagerUser Id/Username +null - Manager field for managed users by the user being removed will be set to null -#### BUG FIXES: +automatic - If the user (manager1) being removed is a manager but also managed by another user(manager2). The manager for managed users will cascade to manager2. -- Fixed a bug with `Import-JCUsersFromCSV` and `Update-JCUsersFromCSV` throwing error when importing 10 or more Custom Attributes due to a sorting issue -- Fixed a bug with `Get-JCSystemApp` returning an error when searching for an app that is less than 4 characters long +User - Manually specify the manager for users managed by the user/manager being removed -## 2.15.0 +-CascadeManagerUser Id/Username + +BUG FIXES: + +Fixed a bug with Import-JCUsersFromCSV and Update-JCUsersFromCSV throwing error when importing 10 or more Custom Attributes due to a sorting issue + +Fixed a bug with Get-JCSystemApp returning an error when searching for an app that is less than 4 characters long + +2.15.0 Release Date: November 18, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` This release adds support for new functions to interact with Policy Groups and Policy Group Templates -``` -#### FEATURES: +FEATURES: New Functions: Get-JCPolicyGroup @@ -202,1441 +199,1420 @@ Get-JCPolicyGroupTemplate Get-JCPolicyGroupTemplateMember Remove-JCPolicyGroupTemplate -#### IMPROVEMENTS: +IMPROVEMENTS: Support for future MTP specific functions. The Update/Import-JCUserFromCSV function can now update/import a user's recovery email. -## 2.14.3 +2.14.3 Release Date: November 7, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Removed 40 character validation for the JumpCloud API key, Add "notes" to the JCPolicy Functions -``` -#### FEATURES: +FEATURES: -- Notes can be set and added when creating new policies using the Set/New-JCPolicy Functions. Notes are returned when querying Get-JCPolicy +Notes can be set and added when creating new policies using the Set/New-JCPolicy Functions. Notes are returned when querying Get-JCPolicy -## 2.14.2 +2.14.2 Release Date: October 16, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Fixed a bug with `Import-JCUsersFromCSV` and `Update-JCUsersFromCSV` where the a user does not get created/updated when there is an empty value on one of the Attribute columns on the CSV -``` -#### BUG FIXES: +BUG FIXES: -- Import-JCUsersFromCSV and Update-JCUsersFromCSV are now able to update/create users even when some Attributes column are not filled in +Import-JCUsersFromCSV and Update-JCUsersFromCSV are now able to update/create users even when some Attributes column are not filled in -## 2.14.1 +2.14.1 Release Date: October 1, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Fixed a bug with `Set-JCUser` not having the ability to remove a user's manager by setting it to `$null` -``` -#### BUG FIXES: +BUG FIXES: -- Set-JCUser now allows removing a user's manager by inputting a `$null` value as expected +Set-JCUser now allows removing a user's manager by inputting a $null value as expected -## 2.14.0 +2.14.0 Release Date: September 25, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Introduces the `Get-JCSystemKB` Function - This function will allow you to search for applied hotfixes/KBs on your Windows devices across your organization -``` -#### BUG FIXES: +BUG FIXES: Fixed a bug where Get-JCPolicy would return multiple templateIDs per policy -#### FEATURES: +FEATURES: -- Get-JCSystemKB - Returns applied hotfixes/KBs on Windows devices in your organization +Get-JCSystemKB - Returns applied hotfixes/KBs on Windows devices in your organization -## 2.13.1 +2.13.1 Release Date: September 09, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Renamed -RemoveAtrribute to -RemoveCustomAttribute -``` -## 2.13.0 +2.13.0 Release Date: August 8, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` New admin function, Get-JCAdmin - returns admins in your organization(s) -``` -#### FEATURES: +FEATURES: + +Get-JCAdmin - Returns administrators in your organization -- Get-JCAdmin - Returns administrators in your organization - - MSP/MTP tenants can query multiple organizations or individual organizations +MSP/MTP tenants can query multiple organizations or individual organizations -## 2.12.1 +2.12.1 Release Date: August 08, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Patch release to include new Pester Tests. No functional changes have been made -``` -#### IMPROVEMENTS: +IMPROVEMENTS: Included Pester Test to check for updating documentation -## 2.12.0 +2.12.0 Release Date: July 10, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Added new calculated fields for Get-JCSystemInsights Tables LogicalDrives, Mounts, and SystemInfo to include human readable sizes in GB for the following fields: PhysicalMemory, blocks, blocksAvailable, freeSpace, and size -``` -#### IMPROVEMENTS: +IMPROVEMENTS: + +Added calculated fields for the Get-JCSystemInsights following tables: -- Added calculated fields for the `Get-JCSystemInsights` following tables: - - LogicalDrives - freeSpaceGB, sizeGB - - Mounts - blocksGB, blocksAvailableGB - - systemInfo - physicalMemoryGB +LogicalDrives - freeSpaceGB, sizeGB -## 2.11.0 +Mounts - blocksGB, blocksAvailableGB + +systemInfo - physicalMemoryGB + +2.11.0 Release Date: June 13, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Introducing a new function Get-JcScheduledUserstate - This will allow for the lookup of upcoming user suspensions/activations -``` -#### FEATURES: +FEATURES: -New Function: `Get-JcScheduledUserState` - Allows for the lookup of scheduled userstate changes. This will list upcoming suspensions or activations as well as being able to search for a particular user's upcoming state changes by their UserID +New Function: Get-JcScheduledUserState - Allows for the lookup of scheduled userstate changes. This will list upcoming suspensions or activations as well as being able to search for a particular user's upcoming state changes by their UserID -## 2.10.2 +2.10.2 Release Date: May 30, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Fixed a bug when creating a staged user and attempting to enable MFA Removed the unused `systemToken` property from the Get-JCSystem function -``` -#### BUG FIXES: +BUG FIXES: Fixed a bug when creating a staged user and attempting to enable MFA -#### FEATURES: +FEATURES: -Removed the `systemToken` property from the Get-JCSystem function +Removed the systemToken property from the Get-JCSystem function -## 2.10.1 +2.10.1 Release Date: April 2, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` Added several missing filter fields to Get-JCUser, Get-JCSystem, Get-JCCommand -``` -#### FEATURES: +FEATURES: -Additional `returnProperties` added to Get-JCUser, Get-JCSystem, Get-JCCommand functions +Additional returnProperties added to Get-JCUser, Get-JCSystem, Get-JCCommand functions -## 2.10.0 +2.10.0 Release Date: January 17, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` New Directory Functions, Add-JCGsuiteMember, Add-JCOffice365Member, Remove-JCGsuiteMember, and Remove-JCOffice365Member added to the module -``` -#### FEATURES: +FEATURES: Add-JCGsuiteMember - Add a user or user group to a Gsuite instance Add-JCOffice365Member - Add a user or user group to an Office365 instance Remove-JCGsuiteMember - Remove a user or user group from a Gsuite instance Remove-JCOffice365Member - Remove a user or user group from an Office365 instance -## 2.9.1 +2.9.1 Release Date: January 11, 2024 -#### RELEASE NOTES +RELEASE NOTES -``` This release adds an available field for Get-JCUser to reutn, `systemUsername`. -``` -#### FEATURES: +FEATURES: NA -#### IMPROVEMENTS: +IMPROVEMENTS: -`SystemUsername` has been added to Get-JCUser -returnProperties. ex. `Get-JCuser -username defaultadmin -returnProperties systemUsername` will return the local systemUsername for a given user. +SystemUsername has been added to Get-JCUser -returnProperties. ex. Get-JCuser -username defaultadmin -returnProperties systemUsername will return the local systemUsername for a given user. -#### BUG FIXES: +BUG FIXES: NA -## 2.9.0 +2.9.0 Release Date: December 5, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` New Directory Functions, Get-JCCloudDirectory, Set-JCCloudDirectory added to the module -``` -#### FEATURES: +FEATURES: Get-JCCloudDirectory Added, fetch JumpCloud Cloud Directory instances (gsuite, office_365) programmatically Set-JCCloudDirectory Added, update existing JumpCloud Cloud Directory instances (gsuite, office_365) programmatically -## 2.8.3 +2.8.3 Release Date: November 20, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` Addressed the issue with Get-JCPolicyTemplateConfigField select/multi property string error -``` -### BUG FIXES: +BUG FIXES: -- Fixed an issue with Get-JCPolicyTemplateConfigField error when a string select/multi property is passed to an int conversion +Fixed an issue with Get-JCPolicyTemplateConfigField error when a string select/multi property is passed to an int conversion Release Date: November 2, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` Addressed the issue with Get-JCPolicyTargetGroup indexing error. Update several module tests to run in parallel. -``` -### BUG FIXES: +BUG FIXES: -- Fixed an issue with Get-JCPolicyTargetGroup index error when a policy group is not bound to a device group +Fixed an issue with Get-JCPolicyTargetGroup index error when a policy group is not bound to a device group -## 2.8.1 +2.8.1 Release Date: October 19, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` Addressed the issue with Get-JCAssociation errors when param Type is sent through dynamic parameter and duplicate key in property hash -``` -### BUG FIXES: +BUG FIXES: + +Fixed an issue with param targetType defaulting when dynamicParam is set -- Fixed an issue with param targetType defaulting when dynamicParam is set -- Fixed an issue with system associated to a command where duplicate key being added +Fixed an issue with system associated to a command where duplicate key being added -## 2.8.0 +2.8.0 Release Date: October 16, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` Addressed an issue with Remove-JCSystemGroup and Remove-JCUserGroup, groups can be removed by ID if specified. -``` -### BUG FIXES: +BUG FIXES: Fixed an issue with Remove-JCSystemGroup and Remove-JCUserGroup where group names could not be identified. -## 2.7.0 +2.7.0 Release Date: August 1, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` This release introduces a new parameter, registryFile, to New-JCPolicy and Set-JCPolicy -``` -#### FEATURES: +FEATURES: Admins can now upload a .reg file to a new or existing Windows - Advanced: Custom Registry Keys Policy -### BUG FIXES: +BUG FIXES: Fixed an issue with sequential results not returning as expected with large datasets -## 2.5.1 +2.5.1 Release Date: May 30, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fix for Update-JCUsersFromCSV function -``` -#### BUG FIXES: +BUG FIXES: Update-JCUsersFromCSV would throw an incorrect status message if updated custom attributes or other API errors would be thrown during script execution. Now the correct error statement from our API should be displayed in the status message object on each updated user. -## 2.5.0 +2.5.0 Release Date: May 11, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` New Policy Function, Remove-JCPolicy added to the module -``` -#### FEATURES: +FEATURES: Remove-JCPolicy added, remove existing JumpCloud Policies programmatically -## 2.4.0 +2.4.0 Release Date: May 1, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` New Policy Functions, Set-JCpolicy, New-JCPolicy added to the module -``` -#### FEATURES: +FEATURES: New-JCPolicy Added, create new JumpCloud Policies programmatically Set-JCPolicy Added, update existing JumpCloud Policies programmatically -## 2.3.0 +2.3.0 Release Date: March 20, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` This release improves the functionality of the Add/Remove GroupMember functions and adds a full text query parameter to Get-JCEvent -``` -### FEATURES: +FEATURES: + +Get-JCEvent has a new full text query parameter, -Q + +IMPROVEMENTS: -- Get-JCEvent has a new full text query parameter, -Q +Replaced Invoke-WebRequest calls in the following functions with SDK functions to improve TTC and remove -#### IMPROVEMENTS: +Add-JCSystemGroupMember -- Replaced Invoke-WebRequest calls in the following functions with SDK functions to improve TTC and remove - - Add-JCSystemGroupMember - - Remove-JCSystemGroupMember - - Add-JCUserGroupMember - - Remove-JCUserGroupMember +Remove-JCSystemGroupMember -## 2.2.0 +Add-JCUserGroupMember + +Remove-JCUserGroupMember + +2.2.0 Release Date: February 7, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` This release adds new function Get-JCSystemApp which enables admins to search for 'x' software and 'y' version on specific device, devices in a specific os, or all managed JumpCloud devices. -``` -#### FEATURES: +FEATURES: + +Get-JCSystemApp command enables search by: -- Get-JCSystemApp command enables search by: - - applications installed in a specific system - - applications installed from all the systems specified by OS - - Software Name and or Version +applications installed in a specific system -## 2.1.3 +applications installed from all the systems specified by OS + +Software Name and or Version + +2.1.3 Release Date: January 5, 2023 -#### RELEASE NOTES +RELEASE NOTES -``` - Restored a missing id field for users and systems -``` -#### BUG FIXES: +BUG FIXES: -- Get-JCSystem/ User functions were missing the .id data field on PowerShell versions 7+. This release restores this field. The .\_id filed is unaffected but you can choose to reference either $system.id or $system.\_id. +Get-JCSystem/ User functions were missing the .id data field on PowerShell versions 7+. This release restores this field. The .\_id filed is unaffected but you can choose to reference either $system.id or $system.\_id. -## 2.1.2 +2.1.2 Release Date: November 30, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` - Fixed an issue with passing pipeline data from Get-JCSystem to Set-JCsystem -``` -#### BUG FIXES: +BUG FIXES: -- Set-JCSystem would throw error regarding systemInsights when using data passed via Get-JCSystem pipeline +Set-JCSystem would throw error regarding systemInsights when using data passed via Get-JCSystem pipeline -## 2.1.1 +2.1.1 Release Date: November 22, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` - Fixed an issue with Get-JCObject -``` -#### BUG FIXES: +BUG FIXES: -- Removed an incorrect unicode character that was causing a failure with Importing the module, specifically with the Get-JCObject function +Removed an incorrect unicode character that was causing a failure with Importing the module, specifically with the Get-JCObject function -## 2.1.0 +2.1.0 Release Date: November 9, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` - This release adds description field parameter to Set-JCSystem and search by description to Get-JCSystem -``` -#### FEATURES: +FEATURES: Get/Set-JCSystem support for description field -#### IMPROVEMENTS: +IMPROVEMENTS: + +Description parameter added to Get and Set-JCSystem -- Description parameter added to Get and Set-JCSystem -- Added -Force switch parameter that populates New-JCImportTemplate with all headers when user update or new user CSV is created -- Additional reporting added to Backup-JCOrganization. If failed tasks are detected, the status of the function should report which tasks failed -- Get-JCSystem -filterDateProperty lastContact will now return active systems +Added -Force switch parameter that populates New-JCImportTemplate with all headers when user update or new user CSV is created -#### BUG FIXES: +Additional reporting added to Backup-JCOrganization. If failed tasks are detected, the status of the function should report which tasks failed -- Bug fix for Set-JCCommand where commandType, launchType, and timeout gets changed to default values -- Bug fix for Get-JCObject where some endpoints(radius_server, cloud directory) output incorrect values -- Bug fix for Get-JCRadiusServer/ Set-JCRadiusServer where authID was being reset +Get-JCSystem -filterDateProperty lastContact will now return active systems -## 2.0.1 +BUG FIXES: + +Bug fix for Set-JCCommand where commandType, launchType, and timeout gets changed to default values + +Bug fix for Get-JCObject where some endpoints(radius_server, cloud directory) output incorrect values + +Bug fix for Get-JCRadiusServer/ Set-JCRadiusServer where authID was being reset + +2.0.1 Release Date: September 1, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` This release introduces Parallel processing functionality to several functions (Get-JCUser, Get-JCSystem, Get-JCSystemUser, Get-JCGroup, Get-JCSystemGroupMember, Get-JCUserGroupMember, Get-JCCommand, Get-JCCommandResult, Get-JCCommandTarget) Note: In order to use the parallel functionality, the feature requires PowerShell version 7 or higher -``` - -#### FEATURES: - -- This release adds parallel processing functionality to potentially alleviate long wait times for large scale operations - - Note: Feature requires PowerShell version 7 or higher - - This release adds parallel processing to the following functions: - - Get-JCUser - - Get-JCSystem - - Get-JCSystemUser - - Get-JCGroup - - Get-JCSystemGroupMember - - Get-JCUserGroupMember - - Get-JCCommand - - Get-JCCommandResult - - Get-JCCommandTarget -- Added -ByCommandID and -CommandID to Get-JCCommandResult - - The added functionality will allow admins to search for all command results pertaining to a single command via the commandID or the workflowID - - When using the pipeline for inputting a command object to Get-JCCommandResult, use the -ByCommandID switch - - Example: $OrgCommandResults = Get-JCCommand | Get-JCCommandResult -ByCommandID ... This will get all command results for commands that match the pipeline input - - Example: Get-JCCommandResult -CommandID 63091abcfe6657f38768ce12 ... This will return commandResults on systems from the command with ID 63091abcfe6657f38768ce12 - - Changed the way command results return all information. - - Instead of running 'Get-JCCommandResult | Get-JCCommandResult -ById' to get full details of a command result. Simply run 'Get-JCCommandResult -Detailed' - - Example: $OrgCommandResults = Get-JCCommandResult -detailed -- Case Insensitive Search added to Get-JCUser, Get-JCSystem, Get-JCCommand - - User, System, Command attributes can be searched without case sensitivity - - Example: Get-JCUser -username 'defaultadmin' ... This will return the user with username 'DefaultAdmin' - - Example: Get-JCSystem -displayname 'mac-jimmys-macbook' ... This will return the system with displayname 'Mac-Jimmys-MacBook' - - Example: Get-JCCommand -command "_disable_" ... This will return commands with some variation of the word 'Command/command' in the command body - -#### IMPROVEMENTS: - -- Adjusted output for Get-JCSystemGroupMember -ByID and Get-JCUserGroupMember -ByID to match the output of -GroupName -- Removed individual hash functions in favor for dynamic hash function - - Replaced all references to old functions -- Added case-insensitivity to search endpoints Get-JCUser, Get-JCSystem, and Get-JCCommand - Example: command name 'List Users' = 'list users' or hostname 'thisPc' = 'ThisPC' - -#### BUG FIXES: + +FEATURES: + +This release adds parallel processing functionality to potentially alleviate long wait times for large scale operations + +Note: Feature requires PowerShell version 7 or higher + +This release adds parallel processing to the following functions: + +Get-JCUser + +Get-JCSystem + +Get-JCSystemUser + +Get-JCGroup + +Get-JCSystemGroupMember + +Get-JCUserGroupMember + +Get-JCCommand + +Get-JCCommandResult + +Get-JCCommandTarget + +Added -ByCommandID and -CommandID to Get-JCCommandResult + +The added functionality will allow admins to search for all command results pertaining to a single command via the commandID or the workflowID + +When using the pipeline for inputting a command object to Get-JCCommandResult, use the -ByCommandID switch + +Example: $OrgCommandResults = Get-JCCommand | Get-JCCommandResult -ByCommandID ... This will get all command results for commands that match the pipeline input + +Example: Get-JCCommandResult -CommandID 63091abcfe6657f38768ce12 ... This will return commandResults on systems from the command with ID 63091abcfe6657f38768ce12 + +Changed the way command results return all information. + +Instead of running 'Get-JCCommandResult | Get-JCCommandResult -ById' to get full details of a command result. Simply run 'Get-JCCommandResult -Detailed' + +Example: $OrgCommandResults = Get-JCCommandResult -detailed + +Case Insensitive Search added to Get-JCUser, Get-JCSystem, Get-JCCommand + +User, System, Command attributes can be searched without case sensitivity + +Example: Get-JCUser -username 'defaultadmin' ... This will return the user with username 'DefaultAdmin' + +Example: Get-JCSystem -displayname 'mac-jimmys-macbook' ... This will return the system with displayname 'Mac-Jimmys-MacBook' + +Example: Get-JCCommand -command "disable" ... This will return commands with some variation of the word 'Command/command' in the command body + +IMPROVEMENTS: + +Adjusted output for Get-JCSystemGroupMember -ByID and Get-JCUserGroupMember -ByID to match the output of -GroupName + +Removed individual hash functions in favor for dynamic hash function + +Replaced all references to old functions + +Added case-insensitivity to search endpoints Get-JCUser, Get-JCSystem, and Get-JCCommand +Example: command name 'List Users' = 'list users' or hostname 'thisPc' = 'ThisPC' + +BUG FIXES: N/A -## 1.23.4 +1.23.4 Release Date: July 25, 2022 -#### RELEASE NOTES +RELEASE NOTES This release modifies New-JCCommandURL to convert Import-JCCommand url to raw github content to prevent changes to GitHub HTML from breaking Import-JCCommand function -## 1.23.3 +1.23.3 Release Date: July 20, 2022 -#### RELEASE NOTES +RELEASE NOTES This release modifies how the Manager Username Lookup works with Get-JCUser. Only usernames/ emails that match the full string of the search are now returned. In addition users set with Set-JCUser will correctly modify managers by email address. -#### BUG FIXES: +BUG FIXES: + +Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization -- Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization -- Set-JCUser -Username "theUser" -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization +Set-JCUser -Username "theUser" -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization -## 1.23.2 +1.23.2 Release Date: July 11, 2022 -#### RELEASE NOTES +RELEASE NOTES This release modifies how the Manager Username Lookup works with Get-JCUser. Only usernames/ emails that match the full string of the search are now returned -#### BUG FIXES: +BUG FIXES: -- Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization +Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization -## 1.23.1 +1.23.1 Release Date: July 7, 2022 -#### RELEASE NOTES +RELEASE NOTES This release adds validate to the Get-JCUser -State parameter set. It should now validate supplied acceptable values. Documentation for Get-JCCommand updated thanks to JumpCloud Community member: Ryan Bailey @rybai -## 1.23.0 +1.23.0 Release Date: June 21, 2022 -#### RELEASE NOTES +RELEASE NOTES This release adds search endpoint functionality and new parameters to Get-JCCommand -#### BUG FIXES: +BUG FIXES: -- N/A +N/A -## 1.22.1 +1.22.1 Release Date: May 19, 2022 -#### RELEASE NOTES +RELEASE NOTES This release includes a bug-fix for read only API Keys and running Backup-JCOrganization -#### BUG FIXES: +BUG FIXES: -- Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. In the previous release, we solved for only a subset of Backup-JCOrganizations' Read-Only error messages, these should now be resolved. +Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. In the previous release, we solved for only a subset of Backup-JCOrganizations' Read-Only error messages, these should now be resolved. -## 1.22.0 +1.22.0 Release Date: May 16, 2022 -#### RELEASE NOTES +RELEASE NOTES This release includes an update to Set, Get, New-JCUser to search manager by a valid JumpCloud user's primary email -#### IMPROVEMENTS: +IMPROVEMENTS: + +Set, Get, New-JCUser will validate email address value given to -manager -- Set, Get, New-JCUser will validate email address value given to -manager +FEATURES: -#### FEATURES: +This release adds email search to manager field in Set, Get, New-JCUser -- This release adds email search to manager field in Set, Get, New-JCUser -- This release adds new parameters to Get-JCResults private function +This release adds new parameters to Get-JCResults private function -#### BUG FIXES: +BUG FIXES: -- Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. +Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. -## 1.21.0 +1.21.0 Release Date: May 11, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` This release includes an update to Update-JCModule intended to help updating future fersions of the PowerShell SDK -``` +IMPROVEMENTS: -#### IMPROVEMENTS: +Update-JCModule specifically targets which version of the new SDK to install and uninstall. -- Update-JCModule specifically targets which version of the new SDK to install and uninstall. +FEATURES: -#### FEATURES: +This release adds the -recoveryemail parameter to Set, Get, New-JCUser -- This release adds the -recoveryemail parameter to Set, Get, New-JCUser - -#### BUG FIXES: +BUG FIXES: N/A -## 1.20.1 +1.20.1 Release Date: April 28, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` This releasse includes a patch to fix pagination where a null system record exists in Get-JCSystemGroupMember. -``` -#### IMPROVEMENTS: +IMPROVEMENTS: + +Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. -- Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. -- Addressed an issue with Update-JCModule failing if GitHub or PowerShellGallery were inaccessible +Addressed an issue with Update-JCModule failing if GitHub or PowerShellGallery were inaccessible -#### BUG FIXES: +BUG FIXES: -- [Fixed issue involving Get-JCSystemGroupMember not returning all expected results](https://github.com/TheJumpCloud/support/pull/370) +Fixed issue involving Get-JCSystemGroupMember not returning all expected results -## 1.20.0 +1.20.0 Release Date: March 31, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` This release incorporates the "state" parameter into Get/Set/New-JCUser -``` -#### FEATURES: +FEATURES: -[state parameter added to module](https://github.com/TheJumpCloud/support/pull/361) see [Managing User State documentation](https://support.jumpcloud.com/support/s/article/Managing-User-States#:~:text=A%20user%20state%20indicates%20where,still%20need%20to%20be%20onboarded.). +state parameter added to module see Managing User State documentation. -#### IMPROVEMENTS: +IMPROVEMENTS: -- Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. +Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. -#### BUG FIXES: +BUG FIXES: N/A -## 1.19.0 +1.19.0 Release Date: March 7, 2022 -#### RELEASE NOTES +RELEASE NOTES -``` This release incorperates the "alternateEmail", "manager" and "managedAppleID" files in both Get/Set/New-JCUser & the CSV Import Functions (Import-JCUsersFromCSV, Update-JCUsersFromCSV, New-JCImportTemplate) -``` -#### FEATURES: +FEATURES: -[alternateEmail, manager, managedAppleID attributes added to module](https://github.com/TheJumpCloud/support/pull/353) +alternateEmail, manager, managedAppleID attributes added to module -``` SDKs should prompt to update on Connect-JCOnline -``` -#### IMPROVEMENTS: +IMPROVEMENTS: -[Organization Settings are saved on Connect-JCOnline](https://github.com/TheJumpCloud/support/pull/354) -[CI updates to incorporate changes to SDK generation](https://github.com/TheJumpCloud/support/pull/350) +Organization Settings are saved on Connect-JCOnline +CI updates to incorporate changes to SDK generation -#### Bug Fixes: +Bug Fixes: Documentation updated for Set-JCRadiusReplyAttributes: 0 is not an allowed value for VLAN ID Fixed a bug which prevented system/user attributes with "sudo attributes" from being copied to another system/user with the Copy-JCAssociation function When releasing the PowerShell Module to the main branch the CI process will automatically draft a release with the release notes for that release version from the module changelog file. -## 1.18.12 +1.18.12 Release Date: December 17, 2021 -#### RELEASE NOTES +RELEASE NOTES -``` This release reverts a change to the Update-JCModule function which displayed erroneous error messages and includes a roll up bug fixes from the 1.18.9 release. This release includes an updated nuspec file to require the PowerShell SDKs -``` -#### BUG FIXES: +BUG FIXES: SA-2296 - Require the SDKs in the generated Nuspec file before creating module -## 1.18.11 +1.18.11 Release Date: December 16, 2021 -#### RELEASE NOTES +RELEASE NOTES -``` This release reverts a change to the Update-JCModule function which displayed erroneous error messages and includes a roll up bug fixes from the 1.18.9 release. -``` -#### BUG FIXES: +BUG FIXES: SA-2258 - Fix Set-JCUser function where it would error when setting a user's enrollment windows anywhere between 4-7 days. SA-2271 - Fix the Regex Pattern used in Import-JCCommand to address change in GitHub. -## 1.18.10 +1.18.10 Release Date: December 5, 2021 -#### RELEASE NOTES +RELEASE NOTES -``` This release includes a fix for Update-JCModule to account for systems with an older version of the PowerShellGet module. -``` -#### BUG FIXES: +BUG FIXES: SA-2273 - Fixes an error on systems where the PowerShellGet module could not support "AllowPreRelease" parameters -## 1.18.9 +1.18.9 Release Date: December 3, 2021 -#### RELEASE NOTES +RELEASE NOTES -``` This release contains a fix for the Set-JCUser function where the MFA enrollment parameter wouldn't set correctly. A fix for Impport-JCCommand failing to import commands was also identified and fixed in this release. -``` -#### BUG FIXES: +BUG FIXES: SA-2258 - Fix Set-JCUser function where it would error when setting a user's enrollment windows anywhere between 4-7 days. SA-2271 - Fix the Regex Pattern used in Import-JCCommand to address change in GitHub. -#### IMPROVEMENTS: +IMPROVEMENTS: -``` Add CodeArtifact support to Update-JCModule Enable the PowerShell Module to be tested from latest development versions of the PowerShell SDKs -``` -## 1.18.8 +1.18.8 Release Date: October 12, 2021 -#### RELEASE NOTES +RELEASE NOTES -``` Patch release to address missing unix_uid field in Import/Update-JCUserFromCSV functions -``` -#### FEATURES: +FEATURES: Users unix UID/GUID can now be set from the Import/Update-JCUserFromCSV functions -## 1.18.7 +1.18.7 Release Date: September 30, 2021 -#### RELEASE NOTES +RELEASE NOTES -``` Patch release to address bug with Copy-JCAssociations -``` -#### BUG FIXES: +BUG FIXES: Bug Fix: SA-2083 Copy Associations with attributes not working as expected. Copy-JCAssociations should now copy associations with attributes and not error -## 1.18.6 +1.18.6 Release Date: September 03, 2021 -#### RELEASE NOTES +RELEASE NOTES -``` -* Updated the help docs for Get-JCSystemInsights -``` +- Updated the help docs for Get-JCSystemInsights -## 1.18.5 + 1.18.5 Release Date: June 23, 2021 -#### RELEASE NOTES +RELEASE NOTES + +switch to circleci pipeline -- switch to circleci pipeline -- Update tsts with valid radius reply attributes +Update tsts with valid radius reply attributes -## 1.18.4 +1.18.4 Release Date: May 03, 2021 -#### RELEASE NOTES +RELEASE NOTES -- Invoke-JCDeployment updated to use SDK versions of the PowerShell Module +Invoke-JCDeployment updated to use SDK versions of the PowerShell Module -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES -- Invoke-JCDeployment will no longer reset a command type to linux when run +Invoke-JCDeployment will no longer reset a command type to linux when run -## 1.18.3 +1.18.3 Release Date: January 04, 2021 -#### RELEASE NOTES +RELEASE NOTES + +New Function, Backup-JCOrganization + +https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Docs/Backup-JCOrganization.md + +Get-JCBackup will no longer be supported and will soon be deprecated; Please use Backup-JCOrganization. -- New Function, Backup-JCOrganization - - https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Docs/Backup-JCOrganization.md -- Get-JCBackup will no longer be supported and will soon be deprecated; Please use Backup-JCOrganization. +FEATURES -#### FEATURES +Backup-JCOrganization can be used to backup your JumpCloud organization to local json files -- Backup-JCOrganization can be used to backup your JumpCloud organization to local json files +IMPROVEMENTS -#### IMPROVEMENTS +Misc internal improvements. -- Misc internal improvements. -- User agent has been updated to accommodate for JcSlackBot tracking. +User agent has been updated to accommodate for JcSlackBot tracking. -#### BUG FIXES +BUG FIXES -## 1.18.2 +1.18.2 Release Date: September 3, 2020 -#### RELEASE NOTES +RELEASE NOTES -The `*-Association` functions now call functions from the `JumpCloud.SDK.V2` instead of custom `Invoke-WebRequest` calls. +The \*-Association functions now call functions from the JumpCloud.SDK.V2 instead of custom Invoke-WebRequest calls. -#### FEATURES: +FEATURES: -#### IMPROVEMENTS: +IMPROVEMENTS: -The `*-Association` functions now call functions from the `JumpCloud.SDK.V2` instead of custom `Invoke-WebRequest` calls. The functions no longer return objects with `IsSuccessStatusCode` and `Error` properties. +The \*-Association functions now call functions from the JumpCloud.SDK.V2 instead of custom Invoke-WebRequest calls. The functions no longer return objects with IsSuccessStatusCode and Error properties. -#### BUG FIXES: +BUG FIXES: -## 1.18.1 +1.18.1 Release Date: August 14, 2020 -#### RELEASE NOTES +RELEASE NOTES -- `Get-JCUser` and `Get-JCSystem` updated to accept dates as a `datetime` type. - - Prevents "String not recognized as valid datetime" error in other non en-US regions +Get-JCUser and Get-JCSystem updated to accept dates as a datetime type. -#### FEATURES: +Prevents "String not recognized as valid datetime" error in other non en-US regions -#### IMPROVEMENTS: +FEATURES: + +IMPROVEMENTS: Testing the JumpCloud PowerShell module and dependent JumpCloud.SDK.\* modules with private repositories is supported. -#### BUG FIXES: +BUG FIXES: Dates in Get-JCuser and Get-JCSystem are now passed in as datetime types which prevents localization conversion errors -## 1.18.0 +1.18.0 Release Date: August 13, 2020 -#### RELEASE NOTES +RELEASE NOTES + +Get-JCSystemInsights has been updated to use the JumpCloud.SDK.V2 powershell module. + +Feature Enhancements + +New SystemInsights tables will be automatically added they become available. + +By using tab complete on the -Filter parameter an example of how to build the filter will be populated. -- `Get-JCSystemInsights` has been updated to use the `JumpCloud.SDK.V2` powershell module. - - Feature Enhancements - - New SystemInsights tables will be automatically added they become available. - - By using tab complete on the `-Filter` parameter an example of how to build the filter will be populated. - - Breaking Changes - - Table names no longer contain special characters. ex: `_`, `-` - - Returned object properties no longer contain special characters. ex: `_`, `-` - - Table names are singular instead of plural. - - Dropping the `-Name` parameter to increase performance. +Breaking Changes -#### FEATURES +Table names no longer contain special characters. ex: \_, - + +Returned object properties no longer contain special characters. ex: \_, - + +Table names are singular instead of plural. + +Dropping the -Name parameter to increase performance. + +FEATURES Get-JCEvent and Get-JCEventCount functions now work with MTP API Keys. Get-JCSystemInsights tables are pulled automatically from JumpCloud.SDK.V2 module. Remove depreciated SystemInsights WindowsCrashes table. -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES -## 1.17.5 +1.17.5 Release Date: July 20, 2020 -#### RELEASE NOTES +RELEASE NOTES Use Get-JCSystemInsight to query additional System Insights tables. -#### FEATURES +FEATURES Updated Get-JCEvent. New function Get-JCEventCount. Remove Depreciated SystemInsights Registry Table. -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES Fix for windows PowerShell Update-JCModule function. Fix for pipeline to specify manual version of module -## 1.17.3 +1.17.3 Release Date: June 25, 2020 -#### RELEASE NOTES +RELEASE NOTES Use Get-JCSystemInsight to query additional System Insights tables. -#### FEATURES +FEATURES Query new SystemInsights tables: alf_exceptions, alf_explicit_auths, appcompat_shims, authorized_keys, connectivity, dns_resolvers, wifi_networks, wifi_status, and windows_security_products -#### IMPROVEMENTS +IMPROVEMENTS Allow for Get-JCPolicy parameters $PolicyID and $Name to take multiple strings Clean up of tls settings -#### BUG FIXES +BUG FIXES Add retry values to resolving 500 errors -## 1.17.2 +1.17.2 Release Date: May 18, 2020 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fix PowerShell 5.1 users launching Connect-JCOnline -``` -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES String Concatenation syntax fix for Update-JCModule -## 1.17.1 +1.17.1 Release Date: May 04, 2020 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fix for when user calls: Get-Help -online Get-JCEvent -``` -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES Help link fix for Get-JCEvent -## 1.17.0 +1.17.0 -#### RELEASE DATE +RELEASE DATE April 30, 2020 -#### RELEASE NOTES +RELEASE NOTES Minor changes to make the auto-update functionality more robust. Use Get-JCEvent to query JumpCloud event logs. -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS New functions: Get-JCEvent Auto-update now utilizes metadata from the PowerShell Gallery to determine when an update is available -#### BUG FIXES +BUG FIXES -## 1.16.0 +1.16.0 -#### RELEASE DATE +RELEASE DATE March 30, 2020 -#### RELEASE NOTES +RELEASE NOTES Use Get-JCSystemInsight to query additional System Insights tables including interface_details -#### FEATURES +FEATURES Query new SystemInsights tables: certificates, cups_destinations, interface_details, python_packages, registry, scheduled_tasks, services and startup_items -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES Resolved issue with Invoke-JCCommand when calling commands without variables -## 1.15.5 +1.15.5 -#### RELEASE DATE +RELEASE DATE March 25, 2020 -#### RELEASE NOTES +RELEASE NOTES Need to update users email addresses in bulk? You can now do that using New-JCImportTemplate and Update-JCUsersFromCSV -#### Features +Features -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES Resolved issue that caused module to attempt to update when running the latest version -## 1.15.4 +1.15.4 -#### RELEASE DATE +RELEASE DATE February 19, 2020 -#### RELEASE NOTES +RELEASE NOTES Need to update users email addresses in bulk? You can now do that using New-JCImportTemplate and Update-JCUsersFromCSV -#### FEATURES +FEATURES Ability to add email column to output of New-JCImportTemplate when updating users -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES Resolved issue that could cause issues with regional DateTime formats -## 1.15.3 +1.15.3 -#### RELEASE DATE +RELEASE DATE January 9, 2020 -#### RELEASE NOTES +RELEASE NOTES You can now update all attributes of a RADIUS server using Set-JCRadiusServer. New parameters added to Get-JCSystem and Get-JCUser. -#### FEATURES +FEATURES Set-JCRadiusServer can now update userPasswordExpirationAction, userLockoutAction, and mfa Get-JCUser now can return the mfa property using -returnProperties Get-JCSystem can now search for macOS machines with the JumpCloud Service Account using the -hasServiceAccount parameter Get-JCSystem can now return the hasServiceAccount, fileSystem properties using -returnProperties -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES -## 1.15.2 +1.15.2 -#### RELEASE DATE +RELEASE DATE December 19, 2019 -#### RELEASE NOTES +RELEASE NOTES Support for UTF-8 encoding and new SystemInsights tables available and ability to filter systems on lastContact date. -#### FEATURES +FEATURES Get-JCSystem -filterDateProperty parameter now accepts lastContact in addition to created. New SystemInsights tables available: -- alf -- battery -- crashes -- ie_extensions -- launchd -- logged_in_users -- managed_policies -- shadow -- shared_folders -- shared_resources -- sharing_preferences -- sip_config -- usb_devices -- user_groups -- user_ssh_keys - -#### IMPROVEMENTS +alf + +battery + +crashes + +ie_extensions + +launchd + +logged_in_users + +managed_policies + +shadow + +shared_folders + +shared_resources + +sharing_preferences + +sip_config + +usb_devices + +user_groups + +user_ssh_keys + +IMPROVEMENTS Support for UTF-8 encoding. -#### BUG FIXES +BUG FIXES -## 1.15.1 +1.15.1 -#### RELEASE DATE +RELEASE DATE October 22, 2019 -#### RELEASE NOTES +RELEASE NOTES Bug fixes to underlying functions preventing default values for skip, limit, and paginate to be populated. -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS Improved performance of Get-JCBackup command. -#### BUG FIXES +BUG FIXES The function which sets the default values for dynamic parameters was incorrectly filtering parameter sets for dynamic parameters that were passed in causing some parameters default values not to be established. -## 1.15.0 +1.15.0 -#### RELEASE DATE +RELEASE DATE October 08, 2019 -#### RELEASE NOTES +RELEASE NOTES Addressing bugs impacting associations functions. -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS New functions: Copy-JCAssociation Removing script block used debugging and simplifying with function. Allow Get-JCBackup to take pipeline input. Update Get-JCBackup to use newer functions. -#### BUG FIXES +BUG FIXES -When piping to a _-JCAssociations function there was a variable scoping issue that incorrectly set the `skip` and `limit` values. +When piping to a _-JCAssociations function there was a variable scoping issue that incorrectly set the skip and limit values. When running a _-JCAssociations function JC types with only one target type were not correctly being populated due to an unnecessary validation step. -## 1.14.0 +1.14.0 -#### RELEASE DATE +RELEASE DATE September 12, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Functions to interact with JumpCloud Radius Servers are now available -!!!***************************************** +!!!********************\********************* !!!IF YOU RECEIVE AN ERROR WHILE UPDATING THE MODULE PLEASE RUN: Install-Module JumpCloud -force -!!!***************************************** -``` +!!!********************\********************* -#### FEATURES +FEATURES New functions: -- Get-JCRadiusServer -- Remove-JCRadiusServer -- New-JCRadiusServer -- Set-JCRadiusServer +Get-JCRadiusServer + +Remove-JCRadiusServer -#### IMPROVEMENTS +New-JCRadiusServer + +Set-JCRadiusServer + +IMPROVEMENTS Updated logic for Connect-JCOnline. Improved module welcome page. Changes for SystemInsights moving out of EA. -#### BUG FIXES +BUG FIXES -## 1.13.3 +1.13.3 -#### RELEASE DATE +RELEASE DATE September 04, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Systeminsights improvements. -***************************************** + +--- + IF YOU RECEIVE AN ERROR WHILE UPDATING THE MODULE PLEASE RUN: Install-Module JumpCloud -force -***************************************** -``` -#### FEATURES +--- + +FEATURES + +IMPROVEMENTS -#### IMPROVEMENTS +Additional systeminsights tables have been added: etc_hosts, logical_drives, disk_info, bitlocker_info, patches, programs -- Additional systeminsights tables have been added: etc_hosts, logical_drives, disk_info, bitlocker_info, patches, programs -- Systeminsights id property has been renamed from `jc_system_id` to `system_id`. +Systeminsights id property has been renamed from jc_system_id to system_id. -#### BUG FIXES +BUG FIXES -## 1.13.2 +1.13.2 -#### RELEASE DATE +RELEASE DATE August 19, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fixes for connecting to a JumpCloud organization with no name specified. Bug fix for functions that call Connect-JCOnline to set an API key if key is not set. Formatting update for Connect-JCOnline output. -``` -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS -- Updated Function: Connect-JCOnline with output information formatting updates. -- Moved parameter help messages from help files to functions to assist with dynamic building of documentation. +Updated Function: Connect-JCOnline with output information formatting updates. -#### BUG FIXES +Moved parameter help messages from help files to functions to assist with dynamic building of documentation. -- Updated Function: Connect-JCOnline to return function output if called within the begin block of a function. -- Updated functions to call Connect-JCOnline to set API key if key is not set. +BUG FIXES -## 1.13.1 +Updated Function: Connect-JCOnline to return function output if called within the begin block of a function. -#### RELEASE DATE +Updated functions to call Connect-JCOnline to set API key if key is not set. + +1.13.1 + +RELEASE DATE August 8, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fixes for MTP admins that manage a large amount of orgs. New parameter "-SystemFDEKey" on Get-JCSystem to backup SystemFDEKeys. Enable SystemInsights for systems using new boolean parameter "-systemInsights" and Set-JCSystem. -``` -#### FEATURES +FEATURES -- Updated Function: Get-JCSystem with "-SystemFDEKey" parameter to return the SystemFDEKey for JumpCloud enabled encrypted systems when a system is searched for by JumpCloud SystemID. +Updated Function: Get-JCSystem with "-SystemFDEKey" parameter to return the SystemFDEKey for JumpCloud enabled encrypted systems when a system is searched for by JumpCloud SystemID. -- Updated Function: Set-JCSystem with boolean parameter "-systemInsights" to enable or disable SystemInsights reporting for systems for EA enabled orgs. +Updated Function: Set-JCSystem with boolean parameter "-systemInsights" to enable or disable SystemInsights reporting for systems for EA enabled orgs. -- New Function: Update-JCModule allows the user to check and see if a module update is available and will return release notes. +New Function: Update-JCModule allows the user to check and see if a module update is available and will return release notes. -#### IMPROVEMENTS +IMPROVEMENTS -- Updated Function: Connect-JCOnline with new logic an UI for display release notes and improved module auto update logic. +Updated Function: Connect-JCOnline with new logic an UI for display release notes and improved module auto update logic. -#### BUG FIXES +BUG FIXES -- Updated Function: Set-JCOrganization to allow admins to successfully connect to for MTP admins that manage 10+ organizations have been resolved. +Updated Function: Set-JCOrganization to allow admins to successfully connect to for MTP admins that manage 10+ organizations have been resolved. -## 1.13.0 +1.13.0 -#### RELEASE DATE +RELEASE DATE July 16, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Changes for automating build and testing of module. New function Get-JCSystemInsights. Updated Function: Get-JCSystem with new parameter "-SystemFDEKey" to return the SystemFDEKey. -``` -#### FEATURES +FEATURES + +New Function: Use Get-JCSystemInsights to leverage the new EA system insights API endpoints. These endpoints allow admins to query additional system details for systems that are enabled for System Insights. Find more information about System Insights here -- New Function: Use Get-JCSystemInsights to leverage the new EA system insights API endpoints. These endpoints allow admins to query additional system details for systems that are enabled for System Insights. [Find more information about System Insights here](https://jumpcloud-success.s3.amazonaws.com/resources/System+Insights+Early+Access.pdf) -- Updated Function: Get-JCSystem to allow for revealing the FileVault or BitLocker key. Use the "Switch" parameter "-SystemFDEKey" to display this key from the PowerShell terminal. -- Updated Function: Get-JCSystem "-returnProperties" parameter set to include "fde" and "systemInsights". +Updated Function: Get-JCSystem to allow for revealing the FileVault or BitLocker key. Use the "Switch" parameter "-SystemFDEKey" to display this key from the PowerShell terminal. -#### IMPROVEMENTS +Updated Function: Get-JCSystem "-returnProperties" parameter set to include "fde" and "systemInsights". + +IMPROVEMENTS Remove dynamic validate set functionality for -Id and -Name parameters due to performance issues. Updated test files to contain code within the describe blocks. Renamed private function files to match the same name of the function within. New Get-JCCommonParameters function. -#### BUG FIXES +BUG FIXES N/A -## 1.12.1 +1.12.1 -#### RELEASE DATE +RELEASE DATE June 17, 2019 -``` Bug fixes for association functions. -``` -#### FEATURES +FEATURES -#### IMPROVEMENTS +IMPROVEMENTS -#### BUG FIXES +BUG FIXES Resolved issue where association types would return incorrect order. -Removed Windows dependency for IE by adding `-UseBasicParsing` to Invoke-Webrequest. +Removed Windows dependency for IE by adding -UseBasicParsing to Invoke-Webrequest. -## 1.12.0 +1.12.0 -#### RELEASE DATE +RELEASE DATE June 6, 2019 -``` Use Add-JCAssociation and Remove-JCAssociation to modify associations between objects in JumpCloud. Get-JCAssociation can be piped into Add-JCAssociation or Remove-JCAssociation to make modifications at scale. User/systems, systems/commands, user_group/applications...etc -``` -#### FEATURES +FEATURES + +New-Function: Add-JCAssociation leverages the V2 associations endpoint to add direct associations between an input object and any of it's possible JumpCloud objects associations. -- New-Function: Add-JCAssociation leverages the V2 associations endpoint to add direct associations between an input object and any of it's possible JumpCloud objects associations. -- New-Function: Remove-JCAssociation leverages the V2 associations endpoint to remove direct associations between an input object and any of it's possible JumpCloud objects associations. +New-Function: Remove-JCAssociation leverages the V2 associations endpoint to remove direct associations between an input object and any of it's possible JumpCloud objects associations. -#### IMPROVEMENTS +IMPROVEMENTS Added increased functionality to PowerShell user_agent. Added new attributes "external_dn" and "external_source_type" for managing ADB users to the Set-JCUser and Get-JCUser functions. -#### BUG FIXES +BUG FIXES Fixed bug on Get-JCGroup to return an error if a group is searched for by name and it does not exist. -## 1.11.0 +1.11.0 -#### RELEASE DATE +RELEASE DATE May 8, 2019 -``` Use Get-JCAssociation to query associations between objects in JumpCloud. Report on the associations between any two objects. User/systems, systems/commands, user_group/applications...etc All available now directly from the Pwsh terminal! -``` -- New Function: Get-JCAssociation leverages the V2 associations endpoint to return the associations between an input object and any of it's possible JumpCloud objects associations. See [How To Use The Associations Functions](https://github.com/TheJumpCloud/support/wiki/How-To-Use-The-Associations-Functions) for more information. +New Function: Get-JCAssociation leverages the V2 associations endpoint to return the associations between an input object and any of it's possible JumpCloud objects associations. See How To Use The Associations Functions for more information. -#### IMPROVEMENTS +IMPROVEMENTS Added private functions to standardize API calls to policy endpoints. Updated test file structure and methodology. -## 1.10.2 +1.10.2 -#### RELEASE DATE +RELEASE DATE April 29, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Update Set-JCUser to not allow null values for nested properties -``` -#### BUG FIXES +BUG FIXES -- Resolves an issue that would set null values when using Set-JCUser to update the nested "addresses" property. +Resolves an issue that would set null values when using Set-JCUser to update the nested "addresses" property. -## 1.10.1 +1.10.1 -#### RELEASE DATE +RELEASE DATE February 19, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Update New-JCUser and Set-JCUser to interact with the property mfa instead of the mfaData property when using the parameter enable_user_portal_multifactor to enable mfa for a user. -``` -#### IMPROVEMENTS +IMPROVEMENTS -- This change aligns with recent work done to improve the mfa workflow for JumpCloud end users. +This change aligns with recent work done to improve the mfa workflow for JumpCloud end users. -## 1.10.0 +1.10.0 -#### RELEASE DATE +RELEASE DATE January 21, 2019 -#### RELEASE NOTES +RELEASE NOTES -``` Use Get-JCPolicy, Get-JCPolicyResults, Get-JCPolicyTargetSystem and Get-JCPolicyTargetGroup to gather information on JumpCloud policies. New-JCUser and Set-JCUser functions have been updated to support MFA enrollment periods. Bug fix on Radius Reply Attributes functions for LDAP and Unix groups. -``` -#### FEATURES +FEATURES + +New Function: Get-JCPolicy will return policies configured within the JumpCloud admin console. + +New Function: Get-JCPolicyResults will return policy results for a given PolicyName or PolicyID. + +New Function: Get-JCPolicyTargetSystem will return associated systems with a given PolicyName or PolicyID. -- New Function: Get-JCPolicy will return policies configured within the JumpCloud admin console. -- New Function: Get-JCPolicyResults will return policy results for a given PolicyName or PolicyID. -- New Function: Get-JCPolicyTargetSystem will return associated systems with a given PolicyName or PolicyID. -- New Function: Get-JCPolicyTargetGroup will return associated groups with a given PolicyName or PolicyID. -- Updated Function: New-JCUser to set a default enrollment peroid of 7 days for users that are created with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. -- Updated Function: Set-JCUser to set a default enrollment peroid of 7 days for users that are updated with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. +New Function: Get-JCPolicyTargetGroup will return associated groups with a given PolicyName or PolicyID. -#### IMPROVEMENTS +Updated Function: New-JCUser to set a default enrollment peroid of 7 days for users that are created with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. + +Updated Function: Set-JCUser to set a default enrollment peroid of 7 days for users that are updated with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. + +IMPROVEMENTS Increased -limit value when querying users and system users from 100 to 1000 Increased performance of private Get-Hash_ID_Sudo function. -#### BUG FIXES +BUG FIXES Fixed bug on Remove-JCUser command when trying to remove users by -UserID Fixed bug on RADIUS functions that prevented the addition or removal of Attributes on JumpCloud user groups configured for LDAP or set up as Linux groups Fixed bug in Import-JCUsersFromCSV and Update-JCUsersFromCSV where a null value for employeeIdentifier would report as duplicate -## 1.9.0 +1.9.0 -#### RELEASE DATE +RELEASE DATE November 29, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Drastically increase the security of your networks using VLANs and RADIUS VLAN tagging! Use the new RADIUS reply attribute functions to authenticate and authorize users to VLANs using JumpCloud RADIUS. Add RADIUS reply attributes to JumpCloud user groups associated with RADIUS servers and implement dynamic per-user VLAN tagging on your network today. @@ -1645,9 +1621,8 @@ Add-JCRadiusReplyAttribute Get-JCRadiusReplyAttribute Set-JCRadiusReplyAttribute Remove-JCRadiusReplyAttribute -``` -#### FEATURES +FEATURES RADIUS reply attributes can now be configured on JumpCloud user groups using functions in the JumpCloud PowerShell module. When applied, these attributes will be returned in the Access-Accept message of a RADIUS request. Reply attributes are specified on JumpCloud user groups. Attributes can be applied across multiple users and RADIUS servers through the association of JumpCloud users to JumpCloud user groups and then the association of these JumpCloud user groups to RADIUS servers. @@ -1657,81 +1632,78 @@ If a user is a member of more then one JumpCloud user group associated with a gi RADIUS reply attribute conflicts are resolved based on the creation date of the user group where groups that are created more recently take precedent over older groups. Conflicts occur when groups are configured with the same RADIUS reply attributes and have conflicting attribute values. RADIUS reply attributes with the same attribute names but different tag values do not create conflicts. -- New Function: Add-JCRadiusReplyAttribute Adds Radius reply attributes to a JumpCloud user group. -- New Function: Get-JCRadiusReplyAttribute Returns the Radius reply attributes associated with a JumpCloud user group. -- New Function: Set-JCRadiusReplyAttribute Updates or adds Radius reply attributes to a JumpCloud user group. -- New Function: Remove-JCRadiusReplyAttribute Removes Radius reply attributes from a JumpCloud user group. +New Function: Add-JCRadiusReplyAttribute Adds Radius reply attributes to a JumpCloud user group. + +New Function: Get-JCRadiusReplyAttribute Returns the Radius reply attributes associated with a JumpCloud user group. -## 1.8.3 +New Function: Set-JCRadiusReplyAttribute Updates or adds Radius reply attributes to a JumpCloud user group. -#### RELEASE DATE +New Function: Remove-JCRadiusReplyAttribute Removes Radius reply attributes from a JumpCloud user group. + +1.8.3 + +RELEASE DATE November 6, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fix for Get-JCGroup to display all group attributes. Added functionality for JumpCloud internal developers to connect to staging and test environments using the module. -``` -#### IMPROVEMENTS +IMPROVEMENTS + +Updated Function: Connect-JCOnline has new parameter '-JCEnvironment' which JumpCloud developers can use to connect to staging and local test environments. -- Updated Function: Connect-JCOnline has new parameter '-JCEnvironment' which JumpCloud developers can use to connect to staging and local test environments. -- Updated Function: Connect-JCOnline has new parameter '-UserAgent' which JumpCloud developers can use to set their UserAgent when using the module. +Updated Function: Connect-JCOnline has new parameter '-UserAgent' which JumpCloud developers can use to set their UserAgent when using the module. -#### BUG FIXES +BUG FIXES -- Resolved bug on Get-JCGroup where all group attributes would not display. +Resolved bug on Get-JCGroup where all group attributes would not display. -## 1.8.2 +1.8.2 -#### RELEASE DATE +RELEASE DATE October 12, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fix for Get-JCCommandResult -limit parameter Increased stability for multi-tenant admins Check our full release notes to see new attribute additions released in 1.8.0 -``` -#### IMPROVEMENTS +IMPROVEMENTS -- Increased stability for multi-tenant admins +Increased stability for multi-tenant admins -#### BUG FIXES +BUG FIXES -- Resolved bug on Get-JCCommandResult where the limit of value of 1000 would cause an error. Default limit value updated to 100. +Resolved bug on Get-JCCommandResult where the limit of value of 1000 would cause an error. Default limit value updated to 100. -## 1.8.1 +1.8.1 -#### RELEASE DATE +RELEASE DATE September 21, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Bug fix for Multi-Tenant orgs Check our full release notes to see new attribute additions released in 1.8.0 -``` -#### BUG FIXES +BUG FIXES -- Resolved bug on Connect-JCOnline where JumpCloudOrgID would not set correctly +Resolved bug on Connect-JCOnline where JumpCloudOrgID would not set correctly -## 1.8.0 +1.8.0 -#### RELEASE DATE +RELEASE DATE September 20, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` New LDAP user attribute support has been added! New LDAP user location, information, and telephony attributes. New function Update-JCUsersFromCSV to add or update all attributes including new LDAP attributes on your existing users. @@ -1739,168 +1711,177 @@ New function Update-JCUsersFromCSV to add users to groups or bind them to system Use the updated New-JCImportTemplate function to create a custom user update import CSV file pre-populated with your JumpCloud users to plug into Update-JCUsersFromCSV. Search for users by LDAP information attributes using Get-JCUser. Import-JCUsersFromCSV workflow has been updated to handle new attributes. -``` -#### FEATURES +FEATURES New LDAP extended user attributes: middlename, preferredName, jobTitle, employeeIdentifier (must be unique), department, costCenter, company, employeeType, description, location New LDAP telephony attributes: mobile_number, home_number, work_number, work_mobile_number, work_fax_number New LDAP location attributes: home_streetAddress, home_poBox home_city, home_state, home_postalCode, home_country, work_streetAddress, work_poBox, work_locality, work_region, work_postalCode, work_country -[See how to update users in bulk using these new functions in this KB article](https://support.jumpcloud.com/customer/portal/articles/2956315) +See how to update users in bulk using these new functions in this KB article + +New Function: Update-JCUsersFromCSV to add or update all attributes including new LDAP attributes on your existing user , add users to groups, or bind them to systems in bulk from a CSV file. + +Updated Function: New-JCImportTemplate can now create custom user update CSV import files pre-populated with your JumpCloud users to plug into the new Update-JCUsersFromCSV + +Updated Function: New-JCUser has parameters for creating users with the new LDAP extended, telephony, and location attributes. + +Updated Function: Set-JCUser has parameters for updating a modifying users LDAP extended, telephony, and location attributes. -- New Function: Update-JCUsersFromCSV to add or update all attributes including new LDAP attributes on your existing user , add users to groups, or bind them to systems in bulk from a CSV file. -- Updated Function: New-JCImportTemplate can now create custom **user update CSV import files** pre-populated with your JumpCloud users to plug into the new Update-JCUsersFromCSV -- Updated Function: New-JCUser has parameters for creating users with the new LDAP extended, telephony, and location attributes. -- Updated Function: Set-JCUser has parameters for updating a modifying users LDAP extended, telephony, and location attributes. -- Updated Function: Get-JCUser has the ability to search for a filter users based on extended LDAP users. -- Updated Function: New-JCImportTemplate workflow has been updated to prompt users with options to add the new LDAP extended, telephony, and location attributes to their CSV import templates. -- Updated Function: Import-JCUsersFromCSV will verify and error check the unique field employeeIdentifier. The output for Import-JCUsersfromCSV has also been cleaned up. +Updated Function: Get-JCUser has the ability to search for a filter users based on extended LDAP users. -#### IMPROVEMENTS +Updated Function: New-JCImportTemplate workflow has been updated to prompt users with options to add the new LDAP extended, telephony, and location attributes to their CSV import templates. -- Updated parameters on Set-JCSystem to allow for modification of parameters via PowerShell pipeline. -- Removed 20 character limit on JumpCloud username field. -- Removed method which forced JumpCloud usernames to be lowercase. -- Updated New-JCImportTemplate to make CSV import file in current working directory. -- Updated Import-JCCommand to call Connect-JCOnline and set TLS to 1.2. -- Updated Function: Import-JCUsersFromCSV to use splatting which allows for CSV to contain columns with non JumpCloud user information -- Progress bars on Import-JCUsersFromCSV and Update-JCUsersFromCSV +Updated Function: Import-JCUsersFromCSV will verify and error check the unique field employeeIdentifier. The output for Import-JCUsersfromCSV has also been cleaned up. -## 1.7.0 +IMPROVEMENTS -#### RELEASE DATE +Updated parameters on Set-JCSystem to allow for modification of parameters via PowerShell pipeline. + +Removed 20 character limit on JumpCloud username field. + +Removed method which forced JumpCloud usernames to be lowercase. + +Updated New-JCImportTemplate to make CSV import file in current working directory. + +Updated Import-JCCommand to call Connect-JCOnline and set TLS to 1.2. + +Updated Function: Import-JCUsersFromCSV to use splatting which allows for CSV to contain columns with non JumpCloud user information + +Progress bars on Import-JCUsersFromCSV and Update-JCUsersFromCSV + +1.7.0 + +RELEASE DATE August 14, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Take JumpCloud commands to the next level with Command Deployments! New functions New-JCDeploymentTemplate and Invoke-JCDeployment. Deployments are designed for automation scenarios where a 1:1 association between the command payload and JumpCloud system is required. Use system specific payloads in your JumpCloud commands with variables populated from a CSV file. -``` -#### FEATURES +FEATURES + +New Function: New-JCDeploymentTemplate used to create a deployment CSV template file that maps to the corresponding JumpCloud command variables to CSV columns. + +New Function: Invoke-JCDeployment for calling the command deployment and feeding the command the '-CommandID' of the target JumpCloud deploy command and the populated deployment CSV file. + +New Function: Set-JCCommand to update JumpCloud commands programmatically. This command is used by the Invoke-JCDeployment command to update the '-launchType' to trigger and trigger the command. -- New Function: New-JCDeploymentTemplate used to create a deployment CSV template file that maps to the corresponding JumpCloud command variables to CSV columns. -- New Function: Invoke-JCDeployment for calling the command deployment and feeding the command the '-CommandID' of the target JumpCloud deploy command and the populated deployment CSV file. -- New Function: Set-JCCommand to update JumpCloud commands programmatically. This command is used by the Invoke-JCDeployment command to update the '-launchType' to trigger and trigger the command. +IMPROVEMENTS -#### IMPROVEMENTS +Warning action "Inquire" removed from Import-JCUsersFromCSV command. Resolves repetitive "Press Y to continue" message during user validation. -- Warning action "Inquire" removed from Import-JCUsersFromCSV command. Resolves repetitive "Press Y to continue" message during user validation. -- Streamlined JumpCloud banners. Because less is more. +Streamlined JumpCloud banners. Because less is more. -#### BUG FIXES +BUG FIXES -- Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created due to duplicate username or email would show previously created user information. -- Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created would show 'User created'. +Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created due to duplicate username or email would show previously created user information. -## 1.6.0 +Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created would show 'User created'. -#### RELEASE DATE +1.6.0 + +RELEASE DATE August 3, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Send activation/password reset emails with the new function Send-JCPasswordReset Multi tenant support has been added! Multi tenant admins will be asked to select the org they want to connect to during API authentication. Multi tenant admins can switch the org they are connected to using the Set-JCOrganization command. -``` -#### FEATURES +FEATURES + +New Function: Send-JCPasswordReset allows admins to use the 'Resend email' button functionality programmatically to send reset/activation emails to targeted users. + +New Function: Set-JCOrganization allows multi tenant admins to change the JumpCloud tenant they are conneted to. -- New Function: Send-JCPasswordReset allows admins to use the 'Resend email' button functionality programmatically to send reset/activation emails to targeted users. -- New Function: Set-JCOrganization allows multi tenant admins to change the JumpCloud tenant they are conneted to. -- New Function: Get-JCOrganization allows multi tenant admins to see the JumpCloud tenants they have access to. -- Updated Function: Connect-JCOnline to prompt multi tenant admins to select their connected tenant. Admins can also skip this prompt by entering a 'JumpCloudOrgID' into the new '-JumpCloudOrgID' parameter to setup connection in automation scenarios. +New Function: Get-JCOrganization allows multi tenant admins to see the JumpCloud tenants they have access to. -#### IMPROVEMENTS +Updated Function: Connect-JCOnline to prompt multi tenant admins to select their connected tenant. Admins can also skip this prompt by entering a 'JumpCloudOrgID' into the new '-JumpCloudOrgID' parameter to setup connection in automation scenarios. -- All Public functions have been updated to include the [x-org-id](https://docs.jumpcloud.com/2.0/authentication-and-authorization/multi-tenant-organization-api-header) header when a multi tenant API connection is established. +IMPROVEMENTS -## 1.5.0 +All Public functions have been updated to include the x-org-id header when a multi tenant API connection is established. -#### RELEASE DATE +1.5.0 + +RELEASE DATE July 16, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` New Function: Get-JCBackup to backup user, system user, system, group information to CSV. Updated Function: Get-JCCommandResult to show SystemID -``` -#### FEATURES +FEATURES + +New Function: Get-JCBackup to backup user, system user, system, user group, and system group information to CSV -- New Function: Get-JCBackup to backup user, system user, system, user group, and system group information to CSV -- Updated Function: Get-JCCommandResult to show SystemID when querying command results in bulk and '-ByID' +Updated Function: Get-JCCommandResult to show SystemID when querying command results in bulk and '-ByID' -#### IMPROVEMENTS +IMPROVEMENTS -- Module structure updated. .PSM1 function monolithic broken out into single function .PS1 files in [Public](https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Public) and [Private](https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Private) folders. This allows for easier debugging and updating of the functions within the module. +Module structure updated. .PSM1 function monolithic broken out into single function .PS1 files in Public and Private folders. This allows for easier debugging and updating of the functions within the module. -## 1.4.2 +1.4.2 -#### RELEASE DATE +RELEASE DATE May 31, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Updated Function: Get-JCCommandResult with new parameter '-MaxResult' Using the parameter '-Skip' and '-MaxResult' admins can return a specific subset of command results. Performance fix for 'Get-JCCommandResult' with increase default limit to 1000 -``` -#### FEATURES +FEATURES + +Updated Function: Get-JCCommandResult with new parameters '-MaxResult'. '-MaxResult' can be combinded with '-Skip' to return a specific subset of command results. -- Updated Function: Get-JCCommandResult with new parameters '-MaxResult'. '-MaxResult' can be combinded with '-Skip' to return a specific subset of command results. +IMPROVEMENTS -#### IMPROVEMENTS +Updated Function: Get-JCCommandResult speed and performance by removing sort. -- Updated Function: Get-JCCommandResult speed and performance by removing sort. -- Updated Function: Get-JCCommandResult increased default limit to 1000 results. +Updated Function: Get-JCCommandResult increased default limit to 1000 results. -## 1.4.1 +1.4.1 -#### RELEASE DATE +RELEASE DATE May 25, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Updated Function: Get-JCCommandResult with new parameters '-TotalCount' and '-Skip' '-TotalCount' returns the number of command results '-Skip' returns only the results after a specified number Bug fix for 'Get-JCSystem' to allow for pagination of over 1000 results. -``` -#### FEATURES +FEATURES -- Updated Function: Get-JCCommandResult with new parameters '-TotalCount' to return the total number of command results and '-Skip' to return only command results after a specificed number. Using '-TotalCount' to first find the total number of results before running a command you can then use '-Skip' to query the new command results after running the command. +Updated Function: Get-JCCommandResult with new parameters '-TotalCount' to return the total number of command results and '-Skip' to return only command results after a specificed number. Using '-TotalCount' to first find the total number of results before running a command you can then use '-Skip' to query the new command results after running the command. -#### BUG FIXES +BUG FIXES -- Updated Functions: Get-JCSystem to allow for pagination of over 1000 results. +Updated Functions: Get-JCSystem to allow for pagination of over 1000 results. -## 1.4.0 +1.4.0 -#### RELEASE DATE +RELEASE DATE May 18, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` Optimized Functions: Get-JCUser and Get-JCSystem have been overhauled!! Optimized functions allow for searching using wildcards on all string properties, boolean filters, and a new -filterDateProperty parameter. @@ -1909,206 +1890,228 @@ Updated Functions: Invoke-JCCommand has added parameter '-NumberOfVariables' This allows admins to pass variables into existing JumpCloud commands. Bug fixes: Connect-JCOnline, Add-JCUserGroupMember, and Get-JCSystemGroupMember Improvements: Optimized Helper Hash Functions to speed up hash table creation and overall performance. -``` -#### FEATURES +FEATURES + +Updated Function: Invoke-JCCommand has added parameter '-NumberOfVariables' for passing in variables to JumpCloud commands. This parameter will create additional parameters dynamically based on the number of variables being passed. Learn more about passing objects to JumpCloud commands under the heading 'Sending data with triggers' here. + +Updated Function: Get-JCSystem to use the /search/systems API endpoint. + +Get-JCSystem can now do front and end wild card searches on all string properties + +Example 'Get-JCsystem -hostname 'admin' + +Get-JCSystem can now do date searches on 'Created' date field using new parameter -filterDateProperty -- Updated Function: Invoke-JCCommand has added parameter '-NumberOfVariables' for passing in variables to JumpCloud commands. This parameter will create additional parameters dynamically based on the number of variables being passed. Learn more about passing objects to JumpCloud commands under the heading 'Sending data with triggers' [here](https://support.jumpcloud.com/customer/en/portal/articles/2443894-how-to-use-command-triggers). -- Updated Function: Get-JCSystem to use the [/search/systems API endpoint](https://docs.jumpcloud.com/1.0/search/search-systems). - - Get-JCSystem can now do front and end wild card searches on all string properties - - Example 'Get-JCsystem -hostname '\*admin\*' - - Get-JCSystem can now do date searches on 'Created' date field using new parameter -filterDateProperty - - Get-JCSystem can now return only specific properties using new parameter -returnProperties -- Updated Function: Get-JCUser to use the [/search/systemusers API endpoint](https://docs.jumpcloud.com/1.0/search/list-system-users). - - Get-JCUser can now do front and end wild card searches on all string properties - - Example 'Get-JCUser -username '\*bob\*' - - Get-JCUser can now do date searches on 'Created' and 'password_expiration_date' date fields using new parameter -filterDateProperty - - Get-JCUser can now return only specific properties using new parameter -returnProperties +Get-JCSystem can now return only specific properties using new parameter -returnProperties -#### BUG FIXES +Updated Function: Get-JCUser to use the /search/systemusers API endpoint. -- Updated Functions: Get-JCSystemGroupMember to properly paginate results greater than 100 system group members. -- Updated Function: Add-JCUserGroupMember to handle user error additions more gracefully. -- Updated Function: Connect-JCOnline to Write-Error instead of Write-Output if API key validation fails +Get-JCUser can now do front and end wild card searches on all string properties -#### IMPROVEMENTS +Example 'Get-JCUser -username 'bob' -- Updated Helper Hash Functions to leverage the -returnProperties which speeds up hash table creation and overall performance. +Get-JCUser can now do date searches on 'Created' and 'password_expiration_date' date fields using new parameter -filterDateProperty -## 1.3.0 +Get-JCUser can now return only specific properties using new parameter -returnProperties -#### RELEASE DATE +BUG FIXES + +Updated Functions: Get-JCSystemGroupMember to properly paginate results greater than 100 system group members. + +Updated Function: Add-JCUserGroupMember to handle user error additions more gracefully. + +Updated Function: Connect-JCOnline to Write-Error instead of Write-Output if API key validation fails + +IMPROVEMENTS + +Updated Helper Hash Functions to leverage the -returnProperties which speeds up hash table creation and overall performance. + +1.3.0 + +RELEASE DATE April 27, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` New Function: Set-JCUserGroupLDAP to toggle the LDAP presentation on/off for JumpCloud user groups. New Function: Get-JCCommandTarget to query the JumpCloud systems or system groups associated with a JumpCloud command. New Function: Add-JCCommandTarget to add JumpCloud system or system group associations to JumpCloud commands. New Function: Remove-JCCommandTarget to remove JumpCloud system or system group associations from JumpCloud commands. Updated Functions: Add-JCUser and Set-JCUser with boolean parameter '-password_never_expires' -``` -#### FEATURES +FEATURES + +New Function: Set-JCUserGroupLDAP to toggle the LDAP presentation on/off for JumpCloud user groups. + +New Function: Get-JCCommandTarget to query the JumpCloud systems or system groups associated with a JumpCloud command. + +New Function: Add-JCCommandTarget to add JumpCloud system or system group associations to JumpCloud commands. + +New Function: Remove-JCCommandTarget to remove JumpCloud system or system group associations from JumpCloud commands. + +Updated Functions: Add-JCUser and Set-JCUser with boolean parameter 'password_never_expires'. -- New Function: Set-JCUserGroupLDAP to toggle the LDAP presentation on/off for JumpCloud user groups. -- New Function: Get-JCCommandTarget to query the JumpCloud systems or system groups associated with a JumpCloud command. -- New Function: Add-JCCommandTarget to add JumpCloud system or system group associations to JumpCloud commands. -- New Function: Remove-JCCommandTarget to remove JumpCloud system or system group associations from JumpCloud commands. -- Updated Functions: Add-JCUser and Set-JCUser with boolean parameter 'password_never_expires'. +BUG FIXES -#### BUG FIXES +Updated Functions: Add-JCUser and Set-JCUser to allow UNIX_UID and UNIX_GUID to a value in the range 0-4294967295. -- Updated Functions: Add-JCUser and Set-JCUser to allow UNIX_UID and UNIX_GUID to a value in the range 0-4294967295. -- Updated Function: Get-JCSystemGroupMember to properly display output when using the 'ByID' parameter set. +Updated Function: Get-JCSystemGroupMember to properly display output when using the 'ByID' parameter set. -## 1.2.0 +1.2.0 -#### RELEASE DATE +RELEASE DATE February 28, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` New Function New-JCCommand and Remove-JCCommand to create and remove JumpCloud commands from the shell. New Function Import-JCCommand to import JumpCloud commands from a URL Updated Function Get-JCUser to search users via username, firstname, lastname, or email Updated Function Connect-JCOnline to check for and install module updates and added '-force' parameter for use in scripts and automation -``` -#### FEATURES +FEATURES + +New Function: New-JCCommand to create JumpCloud commands from the shell + +New Function: Remove-JCCommand to delete JumpCloud commands + +New Function: Import-JCCommand to import JumpCloud commands from a URL + +Updated Function: Get-JCUser to use the same search endpoint as the UI. Get-JCUser can now search via 'username','firstname','lastname', or 'email'. By default Get-JCUser still returns all users. + +Updated Function: Connect-JCOnline added banner to display current JumpCloud module version information. Added parameter sets for 'Interactive' and 'Force' modes. 'Interactive' displays banner and automatic module update options when new version becomes available. 'Force' can be used in automation scenarios to connect to JumpCloud and set $JCAPIKEY variable. + +IMPROVEMENTS -- New Function: New-JCCommand to create JumpCloud commands from the shell -- New Function: Remove-JCCommand to delete JumpCloud commands -- New Function: Import-JCCommand to import JumpCloud commands from a URL -- Updated Function: Get-JCUser to use the same search endpoint as the UI. Get-JCUser can now search via 'username','firstname','lastname', or 'email'. By default Get-JCUser still returns all users. -- Updated Function: Connect-JCOnline added banner to display current JumpCloud module version information. Added parameter sets for 'Interactive' and 'Force' modes. 'Interactive' displays banner and automatic module update options when new version becomes available. 'Force' can be used in automation scenarios to connect to JumpCloud and set $JCAPIKEY variable. +Updated Function: Add-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -#### IMPROVEMENTS +Updated Function: Add-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -- Updated Function: Add-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -- Updated Function: Add-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -- Updated Function: Remove-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -- Updated Function: Remove-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command +Updated Function: Remove-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -## 1.1.0 +Updated Function: Remove-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -#### RELEASE DATE +1.1.0 + +RELEASE DATE January 8, 2018 -#### RELEASE NOTES +RELEASE NOTES -``` New function Set-JCSystemUser to set user / system permissions to standard or administrator. Updated import functions and Add/Get-JCSystemUser to accommodate for user / system permissions. -``` -#### FEATURES +FEATURES + +New Function: Set-JCSystemUser can modify user/system permissions and change the user from a standard user to an administrator or vice versa + +New Helper Function: Get-Hash_ID_Sudo hash table of UserID and ($true/$false) for Sudo parameter + +New Helper Function: Get-Hash_SystemID_HostName hash table of SystemID and system DisplayName + +IMPROVEMENTS + +Updated Function: Add-JCSystemUser has boolean parameter '-Administrator' for setting system permissions during add -- New Function: [Set-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Set-JCSystemUser) can modify user/system permissions and change the user from a standard user to an administrator or vice versa -- New Helper Function: Get-Hash_ID_Sudo hash table of UserID and ($true/$false) for Sudo parameter -- New Helper Function: Get-Hash_SystemID_HostName hash table of SystemID and system DisplayName +Updated Function: Get-JCSystemUser to show system permissions 'Administrator: $true/$false' and system DisplayName -#### IMPROVEMENTS +Updated Function: New-JCImportTemplate to add in 'Administrator' header to .csv file when 'Y' is selected for 'Do you want to bind your new users to existing JumpCloud systems during import?' -- Updated Function: [Add-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Add-JCSystemUser) has boolean parameter '-Administrator' for setting system permissions during add -- Updated Function: [Get-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Get-JCSystemUser) to show system permissions 'Administrator: $true/$false' and system DisplayName -- Updated Function: [New-JCImportTemplate](https://github.com/TheJumpCloud/support/wiki/New-JCImportTemplate) to add in 'Administrator' header to .csv file when 'Y' is selected for 'Do you want to bind your new users to existing JumpCloud systems during import?' -- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) to accept 'True/$True' and 'False/$False' or blank for the 'Administrator' header in the .csv import file -- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) has switch '-Force' parameter to skip the Import GUI and data validation when importing users -- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) to look for duplicate email addresses and usernames in import .csv as part of data validation -- Updated Function: [Get-JCGroup](https://github.com/TheJumpCloud/support/wiki/Get-JCGroup) has -Name parameter which can be used to find attributes like the POSIX group number of a given group +Updated Function: Import-JCUserFromCSV to accept 'True/$True' and 'False/$False' or blank for the 'Administrator' header in the .csv import file -#### BUG FIXES +Updated Function: Import-JCUserFromCSV has switch '-Force' parameter to skip the Import GUI and data validation when importing users -- Updated Function: [Get-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Get-JCSystemUser) to properly clear '$resultsArray' to display accurate results when recursivly listing system users -- Updated Function: [Connect-JCOnline](https://github.com/TheJumpCloud/support/wiki/Connect-JCOnline) and removed conflicting script variable scoping -- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) will no longer inaccurately show 'Added' for users who were not bound to a system during import in the import results +Updated Function: Import-JCUserFromCSV to look for duplicate email addresses and usernames in import .csv as part of data validation -```PowerShell +Updated Function: Get-JCGroup has -Name parameter which can be used to find attributes like the POSIX group number of a given group + +BUG FIXES + +Updated Function: Get-JCSystemUser to properly clear '$resultsArray' to display accurate results when recursivly listing system users + +Updated Function: Connect-JCOnline and removed conflicting script variable scoping + +Updated Function: Import-JCUserFromCSV will no longer inaccurately show 'Added' for users who were not bound to a system during import in the import results PS> Get-Command -Module JumpCloud -CommandType Name Version Source ------------ ---- ------- ------ -Function Add-JCSystemGroupMember 1.1.0 JumpCloud -Function Add-JCSystemUser 1.1.0 JumpCloud -Function Add-JCUserGroupMember 1.1.0 JumpCloud -Function Connect-JCOnline 1.1.0 JumpCloud -Function Get-JCCommand 1.1.0 JumpCloud -Function Get-JCCommandResult 1.1.0 JumpCloud -Function Get-JCGroup 1.1.0 JumpCloud -Function Get-JCSystem 1.1.0 JumpCloud -Function Get-JCSystemGroupMember 1.1.0 JumpCloud -Function Get-JCSystemUser 1.1.0 JumpCloud -Function Get-JCUser 1.1.0 JumpCloud -Function Get-JCUserGroupMember 1.1.0 JumpCloud -Function Import-JCUsersFromCSV 1.1.0 JumpCloud -Function Invoke-JCCommand 1.1.0 JumpCloud -Function New-JCImportTemplate 1.1.0 JumpCloud -Function New-JCSystemGroup 1.1.0 JumpCloud -Function New-JCUser 1.1.0 JumpCloud -Function New-JCUserGroup 1.1.0 JumpCloud -Function Remove-JCCommandResult 1.1.0 JumpCloud -Function Remove-JCSystem 1.1.0 JumpCloud -Function Remove-JCSystemGroup 1.1.0 JumpCloud -Function Remove-JCSystemGroupMember 1.1.0 JumpCloud -Function Remove-JCSystemUser 1.1.0 JumpCloud -Function Remove-JCUser 1.1.0 JumpCloud -Function Remove-JCUserGroup 1.1.0 JumpCloud -Function Remove-JCUserGroupMember 1.1.0 JumpCloud -Function Set-JCSystem 1.1.0 JumpCloud -Function Set-JCSystemUser 1.1.0 JumpCloud -Function Set-JCUser 1.1.0 JumpCloud - -``` - -### [How to update to the latest version of the JumpCloud PowerShell Module](https://github.com/TheJumpCloud/support/wiki/Updating-the-JumpCloud-PowerShell-Module) - -## 1.0.0 - -#### RELEASE DATE +CommandType Name Version Source + +--- + +Function Add-JCSystemGroupMember 1.1.0 JumpCloud +Function Add-JCSystemUser 1.1.0 JumpCloud +Function Add-JCUserGroupMember 1.1.0 JumpCloud +Function Connect-JCOnline 1.1.0 JumpCloud +Function Get-JCCommand 1.1.0 JumpCloud +Function Get-JCCommandResult 1.1.0 JumpCloud +Function Get-JCGroup 1.1.0 JumpCloud +Function Get-JCSystem 1.1.0 JumpCloud +Function Get-JCSystemGroupMember 1.1.0 JumpCloud +Function Get-JCSystemUser 1.1.0 JumpCloud +Function Get-JCUser 1.1.0 JumpCloud +Function Get-JCUserGroupMember 1.1.0 JumpCloud +Function Import-JCUsersFromCSV 1.1.0 JumpCloud +Function Invoke-JCCommand 1.1.0 JumpCloud +Function New-JCImportTemplate 1.1.0 JumpCloud +Function New-JCSystemGroup 1.1.0 JumpCloud +Function New-JCUser 1.1.0 JumpCloud +Function New-JCUserGroup 1.1.0 JumpCloud +Function Remove-JCCommandResult 1.1.0 JumpCloud +Function Remove-JCSystem 1.1.0 JumpCloud +Function Remove-JCSystemGroup 1.1.0 JumpCloud +Function Remove-JCSystemGroupMember 1.1.0 JumpCloud +Function Remove-JCSystemUser 1.1.0 JumpCloud +Function Remove-JCUser 1.1.0 JumpCloud +Function Remove-JCUserGroup 1.1.0 JumpCloud +Function Remove-JCUserGroupMember 1.1.0 JumpCloud +Function Set-JCSystem 1.1.0 JumpCloud +Function Set-JCSystemUser 1.1.0 JumpCloud +Function Set-JCUser 1.1.0 JumpCloud + +How to update to the latest version of the JumpCloud PowerShell Module + +1.0.0 + +RELEASE DATE November 29, 2017 -```PowerShell - PS > Get-Command -Module JumpCloud -CommandType Name Version Source ------------ ---- ------- ------ -Function Add-JCSystemGroupMember 1.0.0 JumpCloud -Function Add-JCSystemUser 1.0.0 JumpCloud -Function Add-JCUserGroupMember 1.0.0 JumpCloud -Function Connect-JCOnline 1.0.0 JumpCloud -Function Get-JCCommand 1.0.0 JumpCloud -Function Get-JCCommandResult 1.0.0 JumpCloud -Function Get-JCGroup 1.0.0 JumpCloud -Function Get-JCSystem 1.0.0 JumpCloud -Function Get-JCSystemGroupMember 1.0.0 JumpCloud -Function Get-JCSystemUser 1.0.0 JumpCloud -Function Get-JCUser 1.0.0 JumpCloud -Function Get-JCUserGroupMember 1.0.0 JumpCloud -Function Import-JCUsersFromCSV 1.0.0 JumpCloud -Function Invoke-JCCommand 1.0.0 JumpCloud -Function New-JCImportTemplate 1.0.0 JumpCloud -Function New-JCSystemGroup 1.0.0 JumpCloud -Function New-JCUser 1.0.0 JumpCloud -Function New-JCUserGroup 1.0.0 JumpCloud -Function Remove-JCCommandResult 1.0.0 JumpCloud -Function Remove-JCSystem 1.0.0 JumpCloud -Function Remove-JCSystemGroup 1.0.0 JumpCloud -Function Remove-JCSystemGroupMember 1.0.0 JumpCloud -Function Remove-JCSystemUser 1.0.0 JumpCloud -Function Remove-JCUser 1.0.0 JumpCloud -Function Remove-JCUserGroup 1.0.0 JumpCloud -Function Remove-JCUserGroupMember 1.0.0 JumpCloud -Function Set-JCSystem 1.0.0 JumpCloud -Function Set-JCUser 1.0.0 JumpCloud - - -``` +CommandType Name Version Source + +--- + +Function Add-JCSystemGroupMember 1.0.0 JumpCloud +Function Add-JCSystemUser 1.0.0 JumpCloud +Function Add-JCUserGroupMember 1.0.0 JumpCloud +Function Connect-JCOnline 1.0.0 JumpCloud +Function Get-JCCommand 1.0.0 JumpCloud +Function Get-JCCommandResult 1.0.0 JumpCloud +Function Get-JCGroup 1.0.0 JumpCloud +Function Get-JCSystem 1.0.0 JumpCloud +Function Get-JCSystemGroupMember 1.0.0 JumpCloud +Function Get-JCSystemUser 1.0.0 JumpCloud +Function Get-JCUser 1.0.0 JumpCloud +Function Get-JCUserGroupMember 1.0.0 JumpCloud +Function Import-JCUsersFromCSV 1.0.0 JumpCloud +Function Invoke-JCCommand 1.0.0 JumpCloud +Function New-JCImportTemplate 1.0.0 JumpCloud +Function New-JCSystemGroup 1.0.0 JumpCloud +Function New-JCUser 1.0.0 JumpCloud +Function New-JCUserGroup 1.0.0 JumpCloud +Function Remove-JCCommandResult 1.0.0 JumpCloud +Function Remove-JCSystem 1.0.0 JumpCloud +Function Remove-JCSystemGroup 1.0.0 JumpCloud +Function Remove-JCSystemGroupMember 1.0.0 JumpCloud +Function Remove-JCSystemUser 1.0.0 JumpCloud +Function Remove-JCUser 1.0.0 JumpCloud +Function Remove-JCUserGroup 1.0.0 JumpCloud +Function Remove-JCUserGroupMember 1.0.0 JumpCloud +Function Set-JCSystem 1.0.0 JumpCloud +Function Set-JCUser 1.0.0 JumpCloud From 041f83dabd2dcd669f3518948db7c3dba072f803 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Thu, 14 May 2026 18:22:10 -0300 Subject: [PATCH 03/18] fix: export missing function and fix changelog formatting for CI --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 1 + PowerShell/ModuleChangelog.md | 1878 ++++++++++---------- 2 files changed, 941 insertions(+), 938 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index d15fcba49..6c35c5ebf 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -98,6 +98,7 @@ FunctionsToExport = @( 'Get-JCGroup', 'Get-JCOrganization', 'Get-JCPolicy', + 'Get-JCPolicyConfigMapping', 'Get-JCPolicyGroup', 'Get-JCPolicyGroupMember', 'Get-JCPolicyGroupTemplate', diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 623181dd3..41b08296b 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,192 +1,200 @@ -3.1.1 +## 3.1.1 Release Date: May 14, 2026 -RELEASE NOTES +### RELEASE NOTES - Refactored build scripts to ensure full cross-platform compatibility (macOS, Linux, and Windows) -- Standardized path resolution using Join-Path and dynamic PSScriptRoot references +- Standardized path resolution using `Join-Path` and dynamic `$PSScriptRoot` references - Improved variable initialization during the build process to prevent null reference errors in non-Windows environments -- Added deployment documentation (README.md) to the PowerShell/Deploy directory +- Added deployment documentation (`README.md`) to the `PowerShell/Deploy` directory -FEATURES: +### FEATURES -Added macOS and Linux support to the JumpCloud module deployment pipeline +- Added macOS and Linux support to the JumpCloud module deployment pipeline -IMPROVEMENTS: +### IMPROVEMENTS -Replaced hardcoded backslash path separators with system-agnostic Join-Path logic +- Replaced hardcoded backslash path separators with system-agnostic `Join-Path` logic +- Standardized dot-sourcing of configuration scripts with explicit parameter passing -Standardized dot-sourcing of configuration scripts with explicit parameter passing +### BUG FIXES -BUG FIXES: +- Fixed "Argument is null or empty" errors occurring during build execution on macOS/Linux +- Resolved directory resolution failures in CI/CD environments (GitHub Actions) -Fixed "Argument is null or empty" errors occurring during build execution on macOS/Linux - -Resolved directory resolution failures in CI/CD environments (GitHub Actions) +--- -3.1.0 +## 3.1.0 Release Date: May 12, 2026 -RELEASE NOTES +#### RELEASE NOTES +``` - Adds new SDK-based cmdlets: Get-JCSystemGroup, Get-JCUserGroup, Get-JCPolicyGroup, New-JCPolicyGroup, Remove-JCPolicyGroup, Get-JCPolicyGroupMember, Set-JCPolicyGroupMember - Adds and updates Pester tests for all new group and policy group cmdlets - Improves test coverage and error handling for group and policy group management - Fixes test parameter usage to match SDK model (e.g., -Id, -Filter, .Name) - Minor bug fixes and documentation updates - Update the .reg file import to support additional type of registry key values +``` - 3.0.2 +## 3.0.2 Release Date: May 05, 2026 -RELEASE NOTES +#### RELEASE NOTES +``` Update the .reg file import to support additional type of registry key values +``` -3.0.2 +## 3.0.2 Release Date: January 22, 2026 -RELEASE NOTES +#### RELEASE NOTES +``` Adds new property to Get-JCCommand returnProperties param Fixes results for Get-JCConfiguredTemplatePolicy Fixes to module test suite +``` -3.0.1 +## 3.0.1 Release Date: December 31, 2025 -RELEASE NOTES +#### RELEASE NOTES +``` Resolves an issue with importing the SDKs fo the EU region +``` -3.0.0 +## 3.0.0 Release Date: December 2, 2025 -RELEASE NOTES +#### RELEASE NOTES +``` Introduced support for EU based organizations with Connect-JCOnline +``` -FEATURES: - -Introduces the -JCEnvironment parameter for Connect-JCOnline +#### FEATURES: -This now allows organizations based in the EU datacenter to run PowerShell commands +- Introduces the `-JCEnvironment` parameter for `Connect-JCOnline` + - This now allows organizations based in the EU datacenter to run PowerShell commands +- Refactored hardcoded endpoint URLs to use a variable depending on which datacenter the module is connected to -Refactored hardcoded endpoint URLs to use a variable depending on which datacenter the module is connected to - -2.18.2 +## 2.18.2 Release Date: September 8, 2025 -RELEASE NOTES +#### RELEASE NOTES +``` Fixed an issue with excluding properties for Update-JCDeviceFromCSV when using PWSH 5.1 +``` -BUG FIXES: +#### BUG FIXES: -Address a bug impacting Update-JCDeviceFromCSV +- Address a bug impacting Update-JCDeviceFromCSV -2.18.1 +## 2.18.1 Release Date: April 25, 2025 -RELEASE NOTES +#### RELEASE NOTES +``` Implements fix for errors in module directory path resolution +``` -BUG FIXES: +#### BUG FIXES: -Addresses a bug that impacted module directory paths. +- Addresses a bug that impacted module directory paths. -2.18.0 +## 2.18.0 Release Date: April 18, 2025 -RELEASE NOTES +#### RELEASE NOTES +``` This release adds support for Windows MDM OMA Custom policy (Custom MDM (OMA-URI)) with New/Set-JCPolicy Introduces the primarySystemUser parameter to Set-JCSystem and Update-JCDeviceFromCSV functions. This parameter will allow you associate a user to the specified device -FEATURES: - -Introduces support for passing list of objects (uriList) for Custom MDM (OMA-URI) policy with New/Set-JCPolicy - -Dynamic param added -uriList +``` -Menu for Set-JCPolicy to edit uriList - create/update/add/remove +#### FEATURES: -Added the primarySystemUser parameter to Set-JCSystem +- Introduces support for passing list of objects (uriList) for Custom MDM (OMA-URI) policy with New/Set-JCPolicy + - Dynamic param added `-uriList` + - Menu for `Set-JCPolicy` to edit uriList - create/update/add/remove -Update-JCDeviceFromCSV supports the primarySystemUser param that was added to Set-JCSystem +* Added the primarySystemUser parameter to Set-JCSystem +* Update-JCDeviceFromCSV supports the primarySystemUser param that was added to Set-JCSystem -BUG FIXES: +#### BUG FIXES: -Added an Alias of GroupID to the ByID parameter for Get-JCUserGroupMember +- Added an Alias of GroupID to the ByID parameter for Get-JCUserGroupMember -2.17.0 +## 2.17.0 Release Date: January 30, 2025 -RELEASE NOTES +#### RELEASE NOTES +``` This release introduces two new functions `New-JCReport` and `Get-JCReport` +``` -FEATURES: +#### FEATURES: -Introduces two new functions New-JCReport and Get-JCReport +- Introduces two new functions `New-JCReport` and `Get-JCReport` + - `New-JCReport` - Generates a report using the pre-built report generators available in the console + - `Get-JCReport` - Allows you get get the report metadata and once the report is finished processing, using the reportID and the artifactID, you can output the report content via JSON or CSV -New-JCReport - Generates a report using the pre-built report generators available in the console - -Get-JCReport - Allows you get get the report metadata and once the report is finished processing, using the reportID and the artifactID, you can output the report content via JSON or CSV - -2.16.0 +## 2.16.0 Release Date: January 02, 2025 -RELEASE NOTES +#### RELEASE NOTES +``` This release introduces support for cascading managers with `Remove-JCUser` This release introduces a bug fix for `Import-JCUsersFromCSV` and `Update-JCUsersFromCSV` issues with importing more than 10 custom attributes. This release also introduces `Update-JCDeviceFromCSV` and `New-JCDeviceUpdateTemplate` functions. +``` -FEATURES: - -Introduces the Update-JCDeviceFromCSV and New-JCDeviceUpdateTemplate functions - -New-JCDeviceUpdateTemplate: Creates a csv template used for bulk updating devices - -Update-JCDeviceFromCSV: Updates a list of devices from a CSV created by the New-JCDeviceUpdateTemplate function - -Introduces Remove-JCUser - Added -CascadeManager (null, automatic, user) parameter +#### FEATURES: -null - Manager field for managed users by the user being removed will be set to null +- Introduces the `Update-JCDeviceFromCSV` and `New-JCDeviceUpdateTemplate` functions + - `New-JCDeviceUpdateTemplate`: Creates a csv template used for bulk updating devices + - `Update-JCDeviceFromCSV`: Updates a list of devices from a CSV created by the `New-JCDeviceUpdateTemplate` function +- Introduces `Remove-JCUser` - Added -CascadeManager (null, automatic, user) parameter + - null - Manager field for managed users by the user being removed will be set to null + - automatic - If the user (manager1) being removed is a manager but also managed by another user(manager2). The manager for managed users will cascade to manager2. + - User - Manually specify the manager for users managed by the user/manager being removed + - -CascadeManagerUser Id/Username -automatic - If the user (manager1) being removed is a manager but also managed by another user(manager2). The manager for managed users will cascade to manager2. +#### BUG FIXES: -User - Manually specify the manager for users managed by the user/manager being removed +- Fixed a bug with `Import-JCUsersFromCSV` and `Update-JCUsersFromCSV` throwing error when importing 10 or more Custom Attributes due to a sorting issue +- Fixed a bug with `Get-JCSystemApp` returning an error when searching for an app that is less than 4 characters long --CascadeManagerUser Id/Username - -BUG FIXES: - -Fixed a bug with Import-JCUsersFromCSV and Update-JCUsersFromCSV throwing error when importing 10 or more Custom Attributes due to a sorting issue - -Fixed a bug with Get-JCSystemApp returning an error when searching for an app that is less than 4 characters long - -2.15.0 +## 2.15.0 Release Date: November 18, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` This release adds support for new functions to interact with Policy Groups and Policy Group Templates +``` -FEATURES: +#### FEATURES: New Functions: Get-JCPolicyGroup @@ -199,1420 +207,1441 @@ Get-JCPolicyGroupTemplate Get-JCPolicyGroupTemplateMember Remove-JCPolicyGroupTemplate -IMPROVEMENTS: +#### IMPROVEMENTS: Support for future MTP specific functions. The Update/Import-JCUserFromCSV function can now update/import a user's recovery email. -2.14.3 +## 2.14.3 Release Date: November 7, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Removed 40 character validation for the JumpCloud API key, Add "notes" to the JCPolicy Functions +``` -FEATURES: +#### FEATURES: -Notes can be set and added when creating new policies using the Set/New-JCPolicy Functions. Notes are returned when querying Get-JCPolicy +- Notes can be set and added when creating new policies using the Set/New-JCPolicy Functions. Notes are returned when querying Get-JCPolicy -2.14.2 +## 2.14.2 Release Date: October 16, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Fixed a bug with `Import-JCUsersFromCSV` and `Update-JCUsersFromCSV` where the a user does not get created/updated when there is an empty value on one of the Attribute columns on the CSV +``` -BUG FIXES: +#### BUG FIXES: -Import-JCUsersFromCSV and Update-JCUsersFromCSV are now able to update/create users even when some Attributes column are not filled in +- Import-JCUsersFromCSV and Update-JCUsersFromCSV are now able to update/create users even when some Attributes column are not filled in -2.14.1 +## 2.14.1 Release Date: October 1, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Fixed a bug with `Set-JCUser` not having the ability to remove a user's manager by setting it to `$null` +``` -BUG FIXES: +#### BUG FIXES: -Set-JCUser now allows removing a user's manager by inputting a $null value as expected +- Set-JCUser now allows removing a user's manager by inputting a `$null` value as expected -2.14.0 +## 2.14.0 Release Date: September 25, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Introduces the `Get-JCSystemKB` Function - This function will allow you to search for applied hotfixes/KBs on your Windows devices across your organization +``` -BUG FIXES: +#### BUG FIXES: Fixed a bug where Get-JCPolicy would return multiple templateIDs per policy -FEATURES: +#### FEATURES: -Get-JCSystemKB - Returns applied hotfixes/KBs on Windows devices in your organization +- Get-JCSystemKB - Returns applied hotfixes/KBs on Windows devices in your organization -2.13.1 +## 2.13.1 Release Date: September 09, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Renamed -RemoveAtrribute to -RemoveCustomAttribute +``` -2.13.0 +## 2.13.0 Release Date: August 8, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` New admin function, Get-JCAdmin - returns admins in your organization(s) +``` -FEATURES: - -Get-JCAdmin - Returns administrators in your organization +#### FEATURES: -MSP/MTP tenants can query multiple organizations or individual organizations +- Get-JCAdmin - Returns administrators in your organization + - MSP/MTP tenants can query multiple organizations or individual organizations -2.12.1 +## 2.12.1 Release Date: August 08, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Patch release to include new Pester Tests. No functional changes have been made +``` -IMPROVEMENTS: +#### IMPROVEMENTS: Included Pester Test to check for updating documentation -2.12.0 +## 2.12.0 Release Date: July 10, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Added new calculated fields for Get-JCSystemInsights Tables LogicalDrives, Mounts, and SystemInfo to include human readable sizes in GB for the following fields: PhysicalMemory, blocks, blocksAvailable, freeSpace, and size +``` -IMPROVEMENTS: - -Added calculated fields for the Get-JCSystemInsights following tables: +#### IMPROVEMENTS: -LogicalDrives - freeSpaceGB, sizeGB +- Added calculated fields for the `Get-JCSystemInsights` following tables: + - LogicalDrives - freeSpaceGB, sizeGB + - Mounts - blocksGB, blocksAvailableGB + - systemInfo - physicalMemoryGB -Mounts - blocksGB, blocksAvailableGB - -systemInfo - physicalMemoryGB - -2.11.0 +## 2.11.0 Release Date: June 13, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Introducing a new function Get-JcScheduledUserstate - This will allow for the lookup of upcoming user suspensions/activations +``` -FEATURES: +#### FEATURES: -New Function: Get-JcScheduledUserState - Allows for the lookup of scheduled userstate changes. This will list upcoming suspensions or activations as well as being able to search for a particular user's upcoming state changes by their UserID +New Function: `Get-JcScheduledUserState` - Allows for the lookup of scheduled userstate changes. This will list upcoming suspensions or activations as well as being able to search for a particular user's upcoming state changes by their UserID -2.10.2 +## 2.10.2 Release Date: May 30, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Fixed a bug when creating a staged user and attempting to enable MFA Removed the unused `systemToken` property from the Get-JCSystem function +``` -BUG FIXES: +#### BUG FIXES: Fixed a bug when creating a staged user and attempting to enable MFA -FEATURES: +#### FEATURES: -Removed the systemToken property from the Get-JCSystem function +Removed the `systemToken` property from the Get-JCSystem function -2.10.1 +## 2.10.1 Release Date: April 2, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` Added several missing filter fields to Get-JCUser, Get-JCSystem, Get-JCCommand +``` -FEATURES: +#### FEATURES: -Additional returnProperties added to Get-JCUser, Get-JCSystem, Get-JCCommand functions +Additional `returnProperties` added to Get-JCUser, Get-JCSystem, Get-JCCommand functions -2.10.0 +## 2.10.0 Release Date: January 17, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` New Directory Functions, Add-JCGsuiteMember, Add-JCOffice365Member, Remove-JCGsuiteMember, and Remove-JCOffice365Member added to the module +``` -FEATURES: +#### FEATURES: Add-JCGsuiteMember - Add a user or user group to a Gsuite instance Add-JCOffice365Member - Add a user or user group to an Office365 instance Remove-JCGsuiteMember - Remove a user or user group from a Gsuite instance Remove-JCOffice365Member - Remove a user or user group from an Office365 instance -2.9.1 +## 2.9.1 Release Date: January 11, 2024 -RELEASE NOTES +#### RELEASE NOTES +``` This release adds an available field for Get-JCUser to reutn, `systemUsername`. +``` -FEATURES: +#### FEATURES: NA -IMPROVEMENTS: +#### IMPROVEMENTS: -SystemUsername has been added to Get-JCUser -returnProperties. ex. Get-JCuser -username defaultadmin -returnProperties systemUsername will return the local systemUsername for a given user. +`SystemUsername` has been added to Get-JCUser -returnProperties. ex. `Get-JCuser -username defaultadmin -returnProperties systemUsername` will return the local systemUsername for a given user. -BUG FIXES: +#### BUG FIXES: NA -2.9.0 +## 2.9.0 Release Date: December 5, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` New Directory Functions, Get-JCCloudDirectory, Set-JCCloudDirectory added to the module +``` -FEATURES: +#### FEATURES: Get-JCCloudDirectory Added, fetch JumpCloud Cloud Directory instances (gsuite, office_365) programmatically Set-JCCloudDirectory Added, update existing JumpCloud Cloud Directory instances (gsuite, office_365) programmatically -2.8.3 +## 2.8.3 Release Date: November 20, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` Addressed the issue with Get-JCPolicyTemplateConfigField select/multi property string error +``` -BUG FIXES: +### BUG FIXES: -Fixed an issue with Get-JCPolicyTemplateConfigField error when a string select/multi property is passed to an int conversion +- Fixed an issue with Get-JCPolicyTemplateConfigField error when a string select/multi property is passed to an int conversion Release Date: November 2, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` Addressed the issue with Get-JCPolicyTargetGroup indexing error. Update several module tests to run in parallel. +``` -BUG FIXES: +### BUG FIXES: -Fixed an issue with Get-JCPolicyTargetGroup index error when a policy group is not bound to a device group +- Fixed an issue with Get-JCPolicyTargetGroup index error when a policy group is not bound to a device group -2.8.1 +## 2.8.1 Release Date: October 19, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` Addressed the issue with Get-JCAssociation errors when param Type is sent through dynamic parameter and duplicate key in property hash +``` -BUG FIXES: - -Fixed an issue with param targetType defaulting when dynamicParam is set +### BUG FIXES: -Fixed an issue with system associated to a command where duplicate key being added +- Fixed an issue with param targetType defaulting when dynamicParam is set +- Fixed an issue with system associated to a command where duplicate key being added -2.8.0 +## 2.8.0 Release Date: October 16, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` Addressed an issue with Remove-JCSystemGroup and Remove-JCUserGroup, groups can be removed by ID if specified. +``` -BUG FIXES: +### BUG FIXES: Fixed an issue with Remove-JCSystemGroup and Remove-JCUserGroup where group names could not be identified. -2.7.0 +## 2.7.0 Release Date: August 1, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` This release introduces a new parameter, registryFile, to New-JCPolicy and Set-JCPolicy +``` -FEATURES: +#### FEATURES: Admins can now upload a .reg file to a new or existing Windows - Advanced: Custom Registry Keys Policy -BUG FIXES: +### BUG FIXES: Fixed an issue with sequential results not returning as expected with large datasets -2.5.1 +## 2.5.1 Release Date: May 30, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fix for Update-JCUsersFromCSV function +``` -BUG FIXES: +#### BUG FIXES: Update-JCUsersFromCSV would throw an incorrect status message if updated custom attributes or other API errors would be thrown during script execution. Now the correct error statement from our API should be displayed in the status message object on each updated user. -2.5.0 +## 2.5.0 Release Date: May 11, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` New Policy Function, Remove-JCPolicy added to the module +``` -FEATURES: +#### FEATURES: Remove-JCPolicy added, remove existing JumpCloud Policies programmatically -2.4.0 +## 2.4.0 Release Date: May 1, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` New Policy Functions, Set-JCpolicy, New-JCPolicy added to the module +``` -FEATURES: +#### FEATURES: New-JCPolicy Added, create new JumpCloud Policies programmatically Set-JCPolicy Added, update existing JumpCloud Policies programmatically -2.3.0 +## 2.3.0 Release Date: March 20, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` This release improves the functionality of the Add/Remove GroupMember functions and adds a full text query parameter to Get-JCEvent +``` -FEATURES: - -Get-JCEvent has a new full text query parameter, -Q - -IMPROVEMENTS: - -Replaced Invoke-WebRequest calls in the following functions with SDK functions to improve TTC and remove +### FEATURES: -Add-JCSystemGroupMember +- Get-JCEvent has a new full text query parameter, -Q -Remove-JCSystemGroupMember +#### IMPROVEMENTS: -Add-JCUserGroupMember +- Replaced Invoke-WebRequest calls in the following functions with SDK functions to improve TTC and remove + - Add-JCSystemGroupMember + - Remove-JCSystemGroupMember + - Add-JCUserGroupMember + - Remove-JCUserGroupMember -Remove-JCUserGroupMember - -2.2.0 +## 2.2.0 Release Date: February 7, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` This release adds new function Get-JCSystemApp which enables admins to search for 'x' software and 'y' version on specific device, devices in a specific os, or all managed JumpCloud devices. +``` -FEATURES: - -Get-JCSystemApp command enables search by: - -applications installed in a specific system +#### FEATURES: -applications installed from all the systems specified by OS +- Get-JCSystemApp command enables search by: + - applications installed in a specific system + - applications installed from all the systems specified by OS + - Software Name and or Version -Software Name and or Version - -2.1.3 +## 2.1.3 Release Date: January 5, 2023 -RELEASE NOTES +#### RELEASE NOTES +``` - Restored a missing id field for users and systems +``` -BUG FIXES: +#### BUG FIXES: -Get-JCSystem/ User functions were missing the .id data field on PowerShell versions 7+. This release restores this field. The .\_id filed is unaffected but you can choose to reference either $system.id or $system.\_id. +- Get-JCSystem/ User functions were missing the .id data field on PowerShell versions 7+. This release restores this field. The .\_id filed is unaffected but you can choose to reference either $system.id or $system.\_id. -2.1.2 +## 2.1.2 Release Date: November 30, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` - Fixed an issue with passing pipeline data from Get-JCSystem to Set-JCsystem +``` -BUG FIXES: +#### BUG FIXES: -Set-JCSystem would throw error regarding systemInsights when using data passed via Get-JCSystem pipeline +- Set-JCSystem would throw error regarding systemInsights when using data passed via Get-JCSystem pipeline -2.1.1 +## 2.1.1 Release Date: November 22, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` - Fixed an issue with Get-JCObject +``` -BUG FIXES: +#### BUG FIXES: -Removed an incorrect unicode character that was causing a failure with Importing the module, specifically with the Get-JCObject function +- Removed an incorrect unicode character that was causing a failure with Importing the module, specifically with the Get-JCObject function -2.1.0 +## 2.1.0 Release Date: November 9, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` - This release adds description field parameter to Set-JCSystem and search by description to Get-JCSystem +``` -FEATURES: +#### FEATURES: Get/Set-JCSystem support for description field -IMPROVEMENTS: - -Description parameter added to Get and Set-JCSystem - -Added -Force switch parameter that populates New-JCImportTemplate with all headers when user update or new user CSV is created +#### IMPROVEMENTS: -Additional reporting added to Backup-JCOrganization. If failed tasks are detected, the status of the function should report which tasks failed +- Description parameter added to Get and Set-JCSystem +- Added -Force switch parameter that populates New-JCImportTemplate with all headers when user update or new user CSV is created +- Additional reporting added to Backup-JCOrganization. If failed tasks are detected, the status of the function should report which tasks failed +- Get-JCSystem -filterDateProperty lastContact will now return active systems -Get-JCSystem -filterDateProperty lastContact will now return active systems +#### BUG FIXES: -BUG FIXES: +- Bug fix for Set-JCCommand where commandType, launchType, and timeout gets changed to default values +- Bug fix for Get-JCObject where some endpoints(radius_server, cloud directory) output incorrect values +- Bug fix for Get-JCRadiusServer/ Set-JCRadiusServer where authID was being reset -Bug fix for Set-JCCommand where commandType, launchType, and timeout gets changed to default values - -Bug fix for Get-JCObject where some endpoints(radius_server, cloud directory) output incorrect values - -Bug fix for Get-JCRadiusServer/ Set-JCRadiusServer where authID was being reset - -2.0.1 +## 2.0.1 Release Date: September 1, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` This release introduces Parallel processing functionality to several functions (Get-JCUser, Get-JCSystem, Get-JCSystemUser, Get-JCGroup, Get-JCSystemGroupMember, Get-JCUserGroupMember, Get-JCCommand, Get-JCCommandResult, Get-JCCommandTarget) Note: In order to use the parallel functionality, the feature requires PowerShell version 7 or higher - -FEATURES: - -This release adds parallel processing functionality to potentially alleviate long wait times for large scale operations - -Note: Feature requires PowerShell version 7 or higher - -This release adds parallel processing to the following functions: - -Get-JCUser - -Get-JCSystem - -Get-JCSystemUser - -Get-JCGroup - -Get-JCSystemGroupMember - -Get-JCUserGroupMember - -Get-JCCommand - -Get-JCCommandResult - -Get-JCCommandTarget - -Added -ByCommandID and -CommandID to Get-JCCommandResult - -The added functionality will allow admins to search for all command results pertaining to a single command via the commandID or the workflowID - -When using the pipeline for inputting a command object to Get-JCCommandResult, use the -ByCommandID switch - -Example: $OrgCommandResults = Get-JCCommand | Get-JCCommandResult -ByCommandID ... This will get all command results for commands that match the pipeline input - -Example: Get-JCCommandResult -CommandID 63091abcfe6657f38768ce12 ... This will return commandResults on systems from the command with ID 63091abcfe6657f38768ce12 - -Changed the way command results return all information. - -Instead of running 'Get-JCCommandResult | Get-JCCommandResult -ById' to get full details of a command result. Simply run 'Get-JCCommandResult -Detailed' - -Example: $OrgCommandResults = Get-JCCommandResult -detailed - -Case Insensitive Search added to Get-JCUser, Get-JCSystem, Get-JCCommand - -User, System, Command attributes can be searched without case sensitivity - -Example: Get-JCUser -username 'defaultadmin' ... This will return the user with username 'DefaultAdmin' - -Example: Get-JCSystem -displayname 'mac-jimmys-macbook' ... This will return the system with displayname 'Mac-Jimmys-MacBook' - -Example: Get-JCCommand -command "disable" ... This will return commands with some variation of the word 'Command/command' in the command body - -IMPROVEMENTS: - -Adjusted output for Get-JCSystemGroupMember -ByID and Get-JCUserGroupMember -ByID to match the output of -GroupName - -Removed individual hash functions in favor for dynamic hash function - -Replaced all references to old functions - -Added case-insensitivity to search endpoints Get-JCUser, Get-JCSystem, and Get-JCCommand -Example: command name 'List Users' = 'list users' or hostname 'thisPc' = 'ThisPC' - -BUG FIXES: +``` + +#### FEATURES: + +- This release adds parallel processing functionality to potentially alleviate long wait times for large scale operations + - Note: Feature requires PowerShell version 7 or higher + - This release adds parallel processing to the following functions: + - Get-JCUser + - Get-JCSystem + - Get-JCSystemUser + - Get-JCGroup + - Get-JCSystemGroupMember + - Get-JCUserGroupMember + - Get-JCCommand + - Get-JCCommandResult + - Get-JCCommandTarget +- Added -ByCommandID and -CommandID to Get-JCCommandResult + - The added functionality will allow admins to search for all command results pertaining to a single command via the commandID or the workflowID + - When using the pipeline for inputting a command object to Get-JCCommandResult, use the -ByCommandID switch + - Example: $OrgCommandResults = Get-JCCommand | Get-JCCommandResult -ByCommandID ... This will get all command results for commands that match the pipeline input + - Example: Get-JCCommandResult -CommandID 63091abcfe6657f38768ce12 ... This will return commandResults on systems from the command with ID 63091abcfe6657f38768ce12 + - Changed the way command results return all information. + - Instead of running 'Get-JCCommandResult | Get-JCCommandResult -ById' to get full details of a command result. Simply run 'Get-JCCommandResult -Detailed' + - Example: $OrgCommandResults = Get-JCCommandResult -detailed +- Case Insensitive Search added to Get-JCUser, Get-JCSystem, Get-JCCommand + - User, System, Command attributes can be searched without case sensitivity + - Example: Get-JCUser -username 'defaultadmin' ... This will return the user with username 'DefaultAdmin' + - Example: Get-JCSystem -displayname 'mac-jimmys-macbook' ... This will return the system with displayname 'Mac-Jimmys-MacBook' + - Example: Get-JCCommand -command "_disable_" ... This will return commands with some variation of the word 'Command/command' in the command body + +#### IMPROVEMENTS: + +- Adjusted output for Get-JCSystemGroupMember -ByID and Get-JCUserGroupMember -ByID to match the output of -GroupName +- Removed individual hash functions in favor for dynamic hash function + - Replaced all references to old functions +- Added case-insensitivity to search endpoints Get-JCUser, Get-JCSystem, and Get-JCCommand + Example: command name 'List Users' = 'list users' or hostname 'thisPc' = 'ThisPC' + +#### BUG FIXES: N/A -1.23.4 +## 1.23.4 Release Date: July 25, 2022 -RELEASE NOTES +#### RELEASE NOTES This release modifies New-JCCommandURL to convert Import-JCCommand url to raw github content to prevent changes to GitHub HTML from breaking Import-JCCommand function -1.23.3 +## 1.23.3 Release Date: July 20, 2022 -RELEASE NOTES +#### RELEASE NOTES This release modifies how the Manager Username Lookup works with Get-JCUser. Only usernames/ emails that match the full string of the search are now returned. In addition users set with Set-JCUser will correctly modify managers by email address. -BUG FIXES: +#### BUG FIXES: -Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization +- Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization +- Set-JCUser -Username "theUser" -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization -Set-JCUser -Username "theUser" -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization - -1.23.2 +## 1.23.2 Release Date: July 11, 2022 -RELEASE NOTES +#### RELEASE NOTES This release modifies how the Manager Username Lookup works with Get-JCUser. Only usernames/ emails that match the full string of the search are now returned -BUG FIXES: +#### BUG FIXES: -Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization +- Get-JCUser -Manager "someUser" could return multiple values if another user username: "User" exists in the Organization -1.23.1 +## 1.23.1 Release Date: July 7, 2022 -RELEASE NOTES +#### RELEASE NOTES This release adds validate to the Get-JCUser -State parameter set. It should now validate supplied acceptable values. Documentation for Get-JCCommand updated thanks to JumpCloud Community member: Ryan Bailey @rybai -1.23.0 +## 1.23.0 Release Date: June 21, 2022 -RELEASE NOTES +#### RELEASE NOTES This release adds search endpoint functionality and new parameters to Get-JCCommand -BUG FIXES: +#### BUG FIXES: -N/A +- N/A -1.22.1 +## 1.22.1 Release Date: May 19, 2022 -RELEASE NOTES +#### RELEASE NOTES This release includes a bug-fix for read only API Keys and running Backup-JCOrganization -BUG FIXES: +#### BUG FIXES: -Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. In the previous release, we solved for only a subset of Backup-JCOrganizations' Read-Only error messages, these should now be resolved. +- Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. In the previous release, we solved for only a subset of Backup-JCOrganizations' Read-Only error messages, these should now be resolved. -1.22.0 +## 1.22.0 Release Date: May 16, 2022 -RELEASE NOTES +#### RELEASE NOTES This release includes an update to Set, Get, New-JCUser to search manager by a valid JumpCloud user's primary email -IMPROVEMENTS: - -Set, Get, New-JCUser will validate email address value given to -manager +#### IMPROVEMENTS: -FEATURES: +- Set, Get, New-JCUser will validate email address value given to -manager -This release adds email search to manager field in Set, Get, New-JCUser +#### FEATURES: -This release adds new parameters to Get-JCResults private function +- This release adds email search to manager field in Set, Get, New-JCUser +- This release adds new parameters to Get-JCResults private function -BUG FIXES: +#### BUG FIXES: -Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. +- Backup-JCOrganization no longer throws a forbidden error message when run with a read-only API Key. -1.21.0 +## 1.21.0 Release Date: May 11, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` This release includes an update to Update-JCModule intended to help updating future fersions of the PowerShell SDK -IMPROVEMENTS: +``` -Update-JCModule specifically targets which version of the new SDK to install and uninstall. +#### IMPROVEMENTS: -FEATURES: +- Update-JCModule specifically targets which version of the new SDK to install and uninstall. -This release adds the -recoveryemail parameter to Set, Get, New-JCUser +#### FEATURES: -BUG FIXES: +- This release adds the -recoveryemail parameter to Set, Get, New-JCUser + +#### BUG FIXES: N/A -1.20.1 +## 1.20.1 Release Date: April 28, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` This releasse includes a patch to fix pagination where a null system record exists in Get-JCSystemGroupMember. +``` -IMPROVEMENTS: - -Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. +#### IMPROVEMENTS: -Addressed an issue with Update-JCModule failing if GitHub or PowerShellGallery were inaccessible +- Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. +- Addressed an issue with Update-JCModule failing if GitHub or PowerShellGallery were inaccessible -BUG FIXES: +#### BUG FIXES: -Fixed issue involving Get-JCSystemGroupMember not returning all expected results +- [Fixed issue involving Get-JCSystemGroupMember not returning all expected results](https://github.com/TheJumpCloud/support/pull/370) -1.20.0 +## 1.20.0 Release Date: March 31, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` This release incorporates the "state" parameter into Get/Set/New-JCUser +``` -FEATURES: +#### FEATURES: -state parameter added to module see Managing User State documentation. +[state parameter added to module](https://github.com/TheJumpCloud/support/pull/361) see [Managing User State documentation](https://support.jumpcloud.com/support/s/article/Managing-User-States#:~:text=A%20user%20state%20indicates%20where,still%20need%20to%20be%20onboarded.). -IMPROVEMENTS: +#### IMPROVEMENTS: -Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. +- Import/Update-JCUsersFromCSV will validate that custom attribute values are not null before attempting to Import/Update users. -BUG FIXES: +#### BUG FIXES: N/A -1.19.0 +## 1.19.0 Release Date: March 7, 2022 -RELEASE NOTES +#### RELEASE NOTES +``` This release incorperates the "alternateEmail", "manager" and "managedAppleID" files in both Get/Set/New-JCUser & the CSV Import Functions (Import-JCUsersFromCSV, Update-JCUsersFromCSV, New-JCImportTemplate) +``` -FEATURES: +#### FEATURES: -alternateEmail, manager, managedAppleID attributes added to module +[alternateEmail, manager, managedAppleID attributes added to module](https://github.com/TheJumpCloud/support/pull/353) +``` SDKs should prompt to update on Connect-JCOnline +``` -IMPROVEMENTS: +#### IMPROVEMENTS: -Organization Settings are saved on Connect-JCOnline -CI updates to incorporate changes to SDK generation +[Organization Settings are saved on Connect-JCOnline](https://github.com/TheJumpCloud/support/pull/354) +[CI updates to incorporate changes to SDK generation](https://github.com/TheJumpCloud/support/pull/350) -Bug Fixes: +#### Bug Fixes: Documentation updated for Set-JCRadiusReplyAttributes: 0 is not an allowed value for VLAN ID Fixed a bug which prevented system/user attributes with "sudo attributes" from being copied to another system/user with the Copy-JCAssociation function When releasing the PowerShell Module to the main branch the CI process will automatically draft a release with the release notes for that release version from the module changelog file. -1.18.12 +## 1.18.12 Release Date: December 17, 2021 -RELEASE NOTES +#### RELEASE NOTES +``` This release reverts a change to the Update-JCModule function which displayed erroneous error messages and includes a roll up bug fixes from the 1.18.9 release. This release includes an updated nuspec file to require the PowerShell SDKs +``` -BUG FIXES: +#### BUG FIXES: SA-2296 - Require the SDKs in the generated Nuspec file before creating module -1.18.11 +## 1.18.11 Release Date: December 16, 2021 -RELEASE NOTES +#### RELEASE NOTES +``` This release reverts a change to the Update-JCModule function which displayed erroneous error messages and includes a roll up bug fixes from the 1.18.9 release. +``` -BUG FIXES: +#### BUG FIXES: SA-2258 - Fix Set-JCUser function where it would error when setting a user's enrollment windows anywhere between 4-7 days. SA-2271 - Fix the Regex Pattern used in Import-JCCommand to address change in GitHub. -1.18.10 +## 1.18.10 Release Date: December 5, 2021 -RELEASE NOTES +#### RELEASE NOTES +``` This release includes a fix for Update-JCModule to account for systems with an older version of the PowerShellGet module. +``` -BUG FIXES: +#### BUG FIXES: SA-2273 - Fixes an error on systems where the PowerShellGet module could not support "AllowPreRelease" parameters -1.18.9 +## 1.18.9 Release Date: December 3, 2021 -RELEASE NOTES +#### RELEASE NOTES +``` This release contains a fix for the Set-JCUser function where the MFA enrollment parameter wouldn't set correctly. A fix for Impport-JCCommand failing to import commands was also identified and fixed in this release. +``` -BUG FIXES: +#### BUG FIXES: SA-2258 - Fix Set-JCUser function where it would error when setting a user's enrollment windows anywhere between 4-7 days. SA-2271 - Fix the Regex Pattern used in Import-JCCommand to address change in GitHub. -IMPROVEMENTS: +#### IMPROVEMENTS: +``` Add CodeArtifact support to Update-JCModule Enable the PowerShell Module to be tested from latest development versions of the PowerShell SDKs +``` -1.18.8 +## 1.18.8 Release Date: October 12, 2021 -RELEASE NOTES +#### RELEASE NOTES +``` Patch release to address missing unix_uid field in Import/Update-JCUserFromCSV functions +``` -FEATURES: +#### FEATURES: Users unix UID/GUID can now be set from the Import/Update-JCUserFromCSV functions -1.18.7 +## 1.18.7 Release Date: September 30, 2021 -RELEASE NOTES +#### RELEASE NOTES +``` Patch release to address bug with Copy-JCAssociations +``` -BUG FIXES: +#### BUG FIXES: Bug Fix: SA-2083 Copy Associations with attributes not working as expected. Copy-JCAssociations should now copy associations with attributes and not error -1.18.6 +## 1.18.6 Release Date: September 03, 2021 -RELEASE NOTES +#### RELEASE NOTES -- Updated the help docs for Get-JCSystemInsights +``` +* Updated the help docs for Get-JCSystemInsights +``` - 1.18.5 +## 1.18.5 Release Date: June 23, 2021 -RELEASE NOTES - -switch to circleci pipeline +#### RELEASE NOTES -Update tsts with valid radius reply attributes +- switch to circleci pipeline +- Update tsts with valid radius reply attributes -1.18.4 +## 1.18.4 Release Date: May 03, 2021 -RELEASE NOTES +#### RELEASE NOTES -Invoke-JCDeployment updated to use SDK versions of the PowerShell Module +- Invoke-JCDeployment updated to use SDK versions of the PowerShell Module -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES -Invoke-JCDeployment will no longer reset a command type to linux when run +- Invoke-JCDeployment will no longer reset a command type to linux when run -1.18.3 +## 1.18.3 Release Date: January 04, 2021 -RELEASE NOTES +#### RELEASE NOTES -New Function, Backup-JCOrganization +- New Function, Backup-JCOrganization + - https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Docs/Backup-JCOrganization.md +- Get-JCBackup will no longer be supported and will soon be deprecated; Please use Backup-JCOrganization. -https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Docs/Backup-JCOrganization.md +#### FEATURES -Get-JCBackup will no longer be supported and will soon be deprecated; Please use Backup-JCOrganization. +- Backup-JCOrganization can be used to backup your JumpCloud organization to local json files -FEATURES +#### IMPROVEMENTS -Backup-JCOrganization can be used to backup your JumpCloud organization to local json files +- Misc internal improvements. +- User agent has been updated to accommodate for JcSlackBot tracking. -IMPROVEMENTS +#### BUG FIXES -Misc internal improvements. - -User agent has been updated to accommodate for JcSlackBot tracking. - -BUG FIXES - -1.18.2 +## 1.18.2 Release Date: September 3, 2020 -RELEASE NOTES +#### RELEASE NOTES -The \*-Association functions now call functions from the JumpCloud.SDK.V2 instead of custom Invoke-WebRequest calls. +The `*-Association` functions now call functions from the `JumpCloud.SDK.V2` instead of custom `Invoke-WebRequest` calls. -FEATURES: +#### FEATURES: -IMPROVEMENTS: +#### IMPROVEMENTS: -The \*-Association functions now call functions from the JumpCloud.SDK.V2 instead of custom Invoke-WebRequest calls. The functions no longer return objects with IsSuccessStatusCode and Error properties. +The `*-Association` functions now call functions from the `JumpCloud.SDK.V2` instead of custom `Invoke-WebRequest` calls. The functions no longer return objects with `IsSuccessStatusCode` and `Error` properties. -BUG FIXES: +#### BUG FIXES: -1.18.1 +## 1.18.1 Release Date: August 14, 2020 -RELEASE NOTES +#### RELEASE NOTES -Get-JCUser and Get-JCSystem updated to accept dates as a datetime type. +- `Get-JCUser` and `Get-JCSystem` updated to accept dates as a `datetime` type. + - Prevents "String not recognized as valid datetime" error in other non en-US regions -Prevents "String not recognized as valid datetime" error in other non en-US regions +#### FEATURES: -FEATURES: - -IMPROVEMENTS: +#### IMPROVEMENTS: Testing the JumpCloud PowerShell module and dependent JumpCloud.SDK.\* modules with private repositories is supported. -BUG FIXES: +#### BUG FIXES: Dates in Get-JCuser and Get-JCSystem are now passed in as datetime types which prevents localization conversion errors -1.18.0 +## 1.18.0 Release Date: August 13, 2020 -RELEASE NOTES - -Get-JCSystemInsights has been updated to use the JumpCloud.SDK.V2 powershell module. - -Feature Enhancements - -New SystemInsights tables will be automatically added they become available. - -By using tab complete on the -Filter parameter an example of how to build the filter will be populated. - -Breaking Changes - -Table names no longer contain special characters. ex: \_, - - -Returned object properties no longer contain special characters. ex: \_, - - -Table names are singular instead of plural. +#### RELEASE NOTES -Dropping the -Name parameter to increase performance. +- `Get-JCSystemInsights` has been updated to use the `JumpCloud.SDK.V2` powershell module. + - Feature Enhancements + - New SystemInsights tables will be automatically added they become available. + - By using tab complete on the `-Filter` parameter an example of how to build the filter will be populated. + - Breaking Changes + - Table names no longer contain special characters. ex: `_`, `-` + - Returned object properties no longer contain special characters. ex: `_`, `-` + - Table names are singular instead of plural. + - Dropping the `-Name` parameter to increase performance. -FEATURES +#### FEATURES Get-JCEvent and Get-JCEventCount functions now work with MTP API Keys. Get-JCSystemInsights tables are pulled automatically from JumpCloud.SDK.V2 module. Remove depreciated SystemInsights WindowsCrashes table. -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES -1.17.5 +## 1.17.5 Release Date: July 20, 2020 -RELEASE NOTES +#### RELEASE NOTES Use Get-JCSystemInsight to query additional System Insights tables. -FEATURES +#### FEATURES Updated Get-JCEvent. New function Get-JCEventCount. Remove Depreciated SystemInsights Registry Table. -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES Fix for windows PowerShell Update-JCModule function. Fix for pipeline to specify manual version of module -1.17.3 +## 1.17.3 Release Date: June 25, 2020 -RELEASE NOTES +#### RELEASE NOTES Use Get-JCSystemInsight to query additional System Insights tables. -FEATURES +#### FEATURES Query new SystemInsights tables: alf_exceptions, alf_explicit_auths, appcompat_shims, authorized_keys, connectivity, dns_resolvers, wifi_networks, wifi_status, and windows_security_products -IMPROVEMENTS +#### IMPROVEMENTS Allow for Get-JCPolicy parameters $PolicyID and $Name to take multiple strings Clean up of tls settings -BUG FIXES +#### BUG FIXES Add retry values to resolving 500 errors -1.17.2 +## 1.17.2 Release Date: May 18, 2020 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fix PowerShell 5.1 users launching Connect-JCOnline +``` -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES String Concatenation syntax fix for Update-JCModule -1.17.1 +## 1.17.1 Release Date: May 04, 2020 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fix for when user calls: Get-Help -online Get-JCEvent +``` -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES Help link fix for Get-JCEvent -1.17.0 +## 1.17.0 -RELEASE DATE +#### RELEASE DATE April 30, 2020 -RELEASE NOTES +#### RELEASE NOTES Minor changes to make the auto-update functionality more robust. Use Get-JCEvent to query JumpCloud event logs. -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS New functions: Get-JCEvent Auto-update now utilizes metadata from the PowerShell Gallery to determine when an update is available -BUG FIXES +#### BUG FIXES -1.16.0 +## 1.16.0 -RELEASE DATE +#### RELEASE DATE March 30, 2020 -RELEASE NOTES +#### RELEASE NOTES Use Get-JCSystemInsight to query additional System Insights tables including interface_details -FEATURES +#### FEATURES Query new SystemInsights tables: certificates, cups_destinations, interface_details, python_packages, registry, scheduled_tasks, services and startup_items -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES Resolved issue with Invoke-JCCommand when calling commands without variables -1.15.5 +## 1.15.5 -RELEASE DATE +#### RELEASE DATE March 25, 2020 -RELEASE NOTES +#### RELEASE NOTES Need to update users email addresses in bulk? You can now do that using New-JCImportTemplate and Update-JCUsersFromCSV -Features +#### Features -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES Resolved issue that caused module to attempt to update when running the latest version -1.15.4 +## 1.15.4 -RELEASE DATE +#### RELEASE DATE February 19, 2020 -RELEASE NOTES +#### RELEASE NOTES Need to update users email addresses in bulk? You can now do that using New-JCImportTemplate and Update-JCUsersFromCSV -FEATURES +#### FEATURES Ability to add email column to output of New-JCImportTemplate when updating users -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES Resolved issue that could cause issues with regional DateTime formats -1.15.3 +## 1.15.3 -RELEASE DATE +#### RELEASE DATE January 9, 2020 -RELEASE NOTES +#### RELEASE NOTES You can now update all attributes of a RADIUS server using Set-JCRadiusServer. New parameters added to Get-JCSystem and Get-JCUser. -FEATURES +#### FEATURES Set-JCRadiusServer can now update userPasswordExpirationAction, userLockoutAction, and mfa Get-JCUser now can return the mfa property using -returnProperties Get-JCSystem can now search for macOS machines with the JumpCloud Service Account using the -hasServiceAccount parameter Get-JCSystem can now return the hasServiceAccount, fileSystem properties using -returnProperties -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES -1.15.2 +## 1.15.2 -RELEASE DATE +#### RELEASE DATE December 19, 2019 -RELEASE NOTES +#### RELEASE NOTES Support for UTF-8 encoding and new SystemInsights tables available and ability to filter systems on lastContact date. -FEATURES +#### FEATURES Get-JCSystem -filterDateProperty parameter now accepts lastContact in addition to created. New SystemInsights tables available: -alf - -battery - -crashes - -ie_extensions - -launchd - -logged_in_users - -managed_policies - -shadow - -shared_folders - -shared_resources - -sharing_preferences - -sip_config - -usb_devices - -user_groups - -user_ssh_keys - -IMPROVEMENTS +- alf +- battery +- crashes +- ie_extensions +- launchd +- logged_in_users +- managed_policies +- shadow +- shared_folders +- shared_resources +- sharing_preferences +- sip_config +- usb_devices +- user_groups +- user_ssh_keys + +#### IMPROVEMENTS Support for UTF-8 encoding. -BUG FIXES +#### BUG FIXES -1.15.1 +## 1.15.1 -RELEASE DATE +#### RELEASE DATE October 22, 2019 -RELEASE NOTES +#### RELEASE NOTES Bug fixes to underlying functions preventing default values for skip, limit, and paginate to be populated. -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS Improved performance of Get-JCBackup command. -BUG FIXES +#### BUG FIXES The function which sets the default values for dynamic parameters was incorrectly filtering parameter sets for dynamic parameters that were passed in causing some parameters default values not to be established. -1.15.0 +## 1.15.0 -RELEASE DATE +#### RELEASE DATE October 08, 2019 -RELEASE NOTES +#### RELEASE NOTES Addressing bugs impacting associations functions. -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS New functions: Copy-JCAssociation Removing script block used debugging and simplifying with function. Allow Get-JCBackup to take pipeline input. Update Get-JCBackup to use newer functions. -BUG FIXES +#### BUG FIXES -When piping to a _-JCAssociations function there was a variable scoping issue that incorrectly set the skip and limit values. +When piping to a _-JCAssociations function there was a variable scoping issue that incorrectly set the `skip` and `limit` values. When running a _-JCAssociations function JC types with only one target type were not correctly being populated due to an unnecessary validation step. -1.14.0 +## 1.14.0 -RELEASE DATE +#### RELEASE DATE September 12, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Functions to interact with JumpCloud Radius Servers are now available -!!!********************\********************* +!!!***************************************** !!!IF YOU RECEIVE AN ERROR WHILE UPDATING THE MODULE PLEASE RUN: Install-Module JumpCloud -force -!!!********************\********************* +!!!***************************************** +``` -FEATURES +#### FEATURES New functions: -Get-JCRadiusServer - -Remove-JCRadiusServer - -New-JCRadiusServer +- Get-JCRadiusServer +- Remove-JCRadiusServer +- New-JCRadiusServer +- Set-JCRadiusServer -Set-JCRadiusServer - -IMPROVEMENTS +#### IMPROVEMENTS Updated logic for Connect-JCOnline. Improved module welcome page. Changes for SystemInsights moving out of EA. -BUG FIXES +#### BUG FIXES -1.13.3 +## 1.13.3 -RELEASE DATE +#### RELEASE DATE September 04, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Systeminsights improvements. - ---- - +***************************************** IF YOU RECEIVE AN ERROR WHILE UPDATING THE MODULE PLEASE RUN: Install-Module JumpCloud -force +***************************************** +``` ---- - -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS -Additional systeminsights tables have been added: etc_hosts, logical_drives, disk_info, bitlocker_info, patches, programs +- Additional systeminsights tables have been added: etc_hosts, logical_drives, disk_info, bitlocker_info, patches, programs +- Systeminsights id property has been renamed from `jc_system_id` to `system_id`. -Systeminsights id property has been renamed from jc_system_id to system_id. +#### BUG FIXES -BUG FIXES +## 1.13.2 -1.13.2 - -RELEASE DATE +#### RELEASE DATE August 19, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fixes for connecting to a JumpCloud organization with no name specified. Bug fix for functions that call Connect-JCOnline to set an API key if key is not set. Formatting update for Connect-JCOnline output. +``` -FEATURES - -IMPROVEMENTS - -Updated Function: Connect-JCOnline with output information formatting updates. +#### FEATURES -Moved parameter help messages from help files to functions to assist with dynamic building of documentation. +#### IMPROVEMENTS -BUG FIXES +- Updated Function: Connect-JCOnline with output information formatting updates. +- Moved parameter help messages from help files to functions to assist with dynamic building of documentation. -Updated Function: Connect-JCOnline to return function output if called within the begin block of a function. +#### BUG FIXES -Updated functions to call Connect-JCOnline to set API key if key is not set. +- Updated Function: Connect-JCOnline to return function output if called within the begin block of a function. +- Updated functions to call Connect-JCOnline to set API key if key is not set. -1.13.1 +## 1.13.1 -RELEASE DATE +#### RELEASE DATE August 8, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fixes for MTP admins that manage a large amount of orgs. New parameter "-SystemFDEKey" on Get-JCSystem to backup SystemFDEKeys. Enable SystemInsights for systems using new boolean parameter "-systemInsights" and Set-JCSystem. +``` -FEATURES +#### FEATURES -Updated Function: Get-JCSystem with "-SystemFDEKey" parameter to return the SystemFDEKey for JumpCloud enabled encrypted systems when a system is searched for by JumpCloud SystemID. +- Updated Function: Get-JCSystem with "-SystemFDEKey" parameter to return the SystemFDEKey for JumpCloud enabled encrypted systems when a system is searched for by JumpCloud SystemID. -Updated Function: Set-JCSystem with boolean parameter "-systemInsights" to enable or disable SystemInsights reporting for systems for EA enabled orgs. +- Updated Function: Set-JCSystem with boolean parameter "-systemInsights" to enable or disable SystemInsights reporting for systems for EA enabled orgs. -New Function: Update-JCModule allows the user to check and see if a module update is available and will return release notes. +- New Function: Update-JCModule allows the user to check and see if a module update is available and will return release notes. -IMPROVEMENTS +#### IMPROVEMENTS -Updated Function: Connect-JCOnline with new logic an UI for display release notes and improved module auto update logic. +- Updated Function: Connect-JCOnline with new logic an UI for display release notes and improved module auto update logic. -BUG FIXES +#### BUG FIXES -Updated Function: Set-JCOrganization to allow admins to successfully connect to for MTP admins that manage 10+ organizations have been resolved. +- Updated Function: Set-JCOrganization to allow admins to successfully connect to for MTP admins that manage 10+ organizations have been resolved. -1.13.0 +## 1.13.0 -RELEASE DATE +#### RELEASE DATE July 16, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Changes for automating build and testing of module. New function Get-JCSystemInsights. Updated Function: Get-JCSystem with new parameter "-SystemFDEKey" to return the SystemFDEKey. +``` -FEATURES +#### FEATURES -New Function: Use Get-JCSystemInsights to leverage the new EA system insights API endpoints. These endpoints allow admins to query additional system details for systems that are enabled for System Insights. Find more information about System Insights here +- New Function: Use Get-JCSystemInsights to leverage the new EA system insights API endpoints. These endpoints allow admins to query additional system details for systems that are enabled for System Insights. [Find more information about System Insights here](https://jumpcloud-success.s3.amazonaws.com/resources/System+Insights+Early+Access.pdf) +- Updated Function: Get-JCSystem to allow for revealing the FileVault or BitLocker key. Use the "Switch" parameter "-SystemFDEKey" to display this key from the PowerShell terminal. +- Updated Function: Get-JCSystem "-returnProperties" parameter set to include "fde" and "systemInsights". -Updated Function: Get-JCSystem to allow for revealing the FileVault or BitLocker key. Use the "Switch" parameter "-SystemFDEKey" to display this key from the PowerShell terminal. - -Updated Function: Get-JCSystem "-returnProperties" parameter set to include "fde" and "systemInsights". - -IMPROVEMENTS +#### IMPROVEMENTS Remove dynamic validate set functionality for -Id and -Name parameters due to performance issues. Updated test files to contain code within the describe blocks. Renamed private function files to match the same name of the function within. New Get-JCCommonParameters function. -BUG FIXES +#### BUG FIXES N/A -1.12.1 +## 1.12.1 -RELEASE DATE +#### RELEASE DATE June 17, 2019 +``` Bug fixes for association functions. +``` -FEATURES +#### FEATURES -IMPROVEMENTS +#### IMPROVEMENTS -BUG FIXES +#### BUG FIXES Resolved issue where association types would return incorrect order. -Removed Windows dependency for IE by adding -UseBasicParsing to Invoke-Webrequest. +Removed Windows dependency for IE by adding `-UseBasicParsing` to Invoke-Webrequest. -1.12.0 +## 1.12.0 -RELEASE DATE +#### RELEASE DATE June 6, 2019 +``` Use Add-JCAssociation and Remove-JCAssociation to modify associations between objects in JumpCloud. Get-JCAssociation can be piped into Add-JCAssociation or Remove-JCAssociation to make modifications at scale. User/systems, systems/commands, user_group/applications...etc +``` -FEATURES - -New-Function: Add-JCAssociation leverages the V2 associations endpoint to add direct associations between an input object and any of it's possible JumpCloud objects associations. +#### FEATURES -New-Function: Remove-JCAssociation leverages the V2 associations endpoint to remove direct associations between an input object and any of it's possible JumpCloud objects associations. +- New-Function: Add-JCAssociation leverages the V2 associations endpoint to add direct associations between an input object and any of it's possible JumpCloud objects associations. +- New-Function: Remove-JCAssociation leverages the V2 associations endpoint to remove direct associations between an input object and any of it's possible JumpCloud objects associations. -IMPROVEMENTS +#### IMPROVEMENTS Added increased functionality to PowerShell user_agent. Added new attributes "external_dn" and "external_source_type" for managing ADB users to the Set-JCUser and Get-JCUser functions. -BUG FIXES +#### BUG FIXES Fixed bug on Get-JCGroup to return an error if a group is searched for by name and it does not exist. -1.11.0 +## 1.11.0 -RELEASE DATE +#### RELEASE DATE May 8, 2019 +``` Use Get-JCAssociation to query associations between objects in JumpCloud. Report on the associations between any two objects. User/systems, systems/commands, user_group/applications...etc All available now directly from the Pwsh terminal! +``` -New Function: Get-JCAssociation leverages the V2 associations endpoint to return the associations between an input object and any of it's possible JumpCloud objects associations. See How To Use The Associations Functions for more information. +- New Function: Get-JCAssociation leverages the V2 associations endpoint to return the associations between an input object and any of it's possible JumpCloud objects associations. See [How To Use The Associations Functions](https://github.com/TheJumpCloud/support/wiki/How-To-Use-The-Associations-Functions) for more information. -IMPROVEMENTS +#### IMPROVEMENTS Added private functions to standardize API calls to policy endpoints. Updated test file structure and methodology. -1.10.2 +## 1.10.2 -RELEASE DATE +#### RELEASE DATE April 29, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Update Set-JCUser to not allow null values for nested properties +``` -BUG FIXES +#### BUG FIXES -Resolves an issue that would set null values when using Set-JCUser to update the nested "addresses" property. +- Resolves an issue that would set null values when using Set-JCUser to update the nested "addresses" property. -1.10.1 +## 1.10.1 -RELEASE DATE +#### RELEASE DATE February 19, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Update New-JCUser and Set-JCUser to interact with the property mfa instead of the mfaData property when using the parameter enable_user_portal_multifactor to enable mfa for a user. +``` -IMPROVEMENTS +#### IMPROVEMENTS -This change aligns with recent work done to improve the mfa workflow for JumpCloud end users. +- This change aligns with recent work done to improve the mfa workflow for JumpCloud end users. -1.10.0 +## 1.10.0 -RELEASE DATE +#### RELEASE DATE January 21, 2019 -RELEASE NOTES +#### RELEASE NOTES +``` Use Get-JCPolicy, Get-JCPolicyResults, Get-JCPolicyTargetSystem and Get-JCPolicyTargetGroup to gather information on JumpCloud policies. New-JCUser and Set-JCUser functions have been updated to support MFA enrollment periods. Bug fix on Radius Reply Attributes functions for LDAP and Unix groups. +``` -FEATURES +#### FEATURES -New Function: Get-JCPolicy will return policies configured within the JumpCloud admin console. +- New Function: Get-JCPolicy will return policies configured within the JumpCloud admin console. +- New Function: Get-JCPolicyResults will return policy results for a given PolicyName or PolicyID. +- New Function: Get-JCPolicyTargetSystem will return associated systems with a given PolicyName or PolicyID. +- New Function: Get-JCPolicyTargetGroup will return associated groups with a given PolicyName or PolicyID. +- Updated Function: New-JCUser to set a default enrollment peroid of 7 days for users that are created with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. +- Updated Function: Set-JCUser to set a default enrollment peroid of 7 days for users that are updated with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. -New Function: Get-JCPolicyResults will return policy results for a given PolicyName or PolicyID. - -New Function: Get-JCPolicyTargetSystem will return associated systems with a given PolicyName or PolicyID. - -New Function: Get-JCPolicyTargetGroup will return associated groups with a given PolicyName or PolicyID. - -Updated Function: New-JCUser to set a default enrollment peroid of 7 days for users that are created with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. - -Updated Function: Set-JCUser to set a default enrollment peroid of 7 days for users that are updated with '-enable_user_portal_multifactor' set to $true. If this value is set to $true the dynamic parameter -enrollmentDays can also be specified from 1 to 365. - -IMPROVEMENTS +#### IMPROVEMENTS Increased -limit value when querying users and system users from 100 to 1000 Increased performance of private Get-Hash_ID_Sudo function. -BUG FIXES +#### BUG FIXES Fixed bug on Remove-JCUser command when trying to remove users by -UserID Fixed bug on RADIUS functions that prevented the addition or removal of Attributes on JumpCloud user groups configured for LDAP or set up as Linux groups Fixed bug in Import-JCUsersFromCSV and Update-JCUsersFromCSV where a null value for employeeIdentifier would report as duplicate -1.9.0 +## 1.9.0 -RELEASE DATE +#### RELEASE DATE November 29, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Drastically increase the security of your networks using VLANs and RADIUS VLAN tagging! Use the new RADIUS reply attribute functions to authenticate and authorize users to VLANs using JumpCloud RADIUS. Add RADIUS reply attributes to JumpCloud user groups associated with RADIUS servers and implement dynamic per-user VLAN tagging on your network today. @@ -1621,8 +1650,9 @@ Add-JCRadiusReplyAttribute Get-JCRadiusReplyAttribute Set-JCRadiusReplyAttribute Remove-JCRadiusReplyAttribute +``` -FEATURES +#### FEATURES RADIUS reply attributes can now be configured on JumpCloud user groups using functions in the JumpCloud PowerShell module. When applied, these attributes will be returned in the Access-Accept message of a RADIUS request. Reply attributes are specified on JumpCloud user groups. Attributes can be applied across multiple users and RADIUS servers through the association of JumpCloud users to JumpCloud user groups and then the association of these JumpCloud user groups to RADIUS servers. @@ -1632,78 +1662,81 @@ If a user is a member of more then one JumpCloud user group associated with a gi RADIUS reply attribute conflicts are resolved based on the creation date of the user group where groups that are created more recently take precedent over older groups. Conflicts occur when groups are configured with the same RADIUS reply attributes and have conflicting attribute values. RADIUS reply attributes with the same attribute names but different tag values do not create conflicts. -New Function: Add-JCRadiusReplyAttribute Adds Radius reply attributes to a JumpCloud user group. - -New Function: Get-JCRadiusReplyAttribute Returns the Radius reply attributes associated with a JumpCloud user group. +- New Function: Add-JCRadiusReplyAttribute Adds Radius reply attributes to a JumpCloud user group. +- New Function: Get-JCRadiusReplyAttribute Returns the Radius reply attributes associated with a JumpCloud user group. +- New Function: Set-JCRadiusReplyAttribute Updates or adds Radius reply attributes to a JumpCloud user group. +- New Function: Remove-JCRadiusReplyAttribute Removes Radius reply attributes from a JumpCloud user group. -New Function: Set-JCRadiusReplyAttribute Updates or adds Radius reply attributes to a JumpCloud user group. +## 1.8.3 -New Function: Remove-JCRadiusReplyAttribute Removes Radius reply attributes from a JumpCloud user group. - -1.8.3 - -RELEASE DATE +#### RELEASE DATE November 6, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fix for Get-JCGroup to display all group attributes. Added functionality for JumpCloud internal developers to connect to staging and test environments using the module. +``` -IMPROVEMENTS - -Updated Function: Connect-JCOnline has new parameter '-JCEnvironment' which JumpCloud developers can use to connect to staging and local test environments. +#### IMPROVEMENTS -Updated Function: Connect-JCOnline has new parameter '-UserAgent' which JumpCloud developers can use to set their UserAgent when using the module. +- Updated Function: Connect-JCOnline has new parameter '-JCEnvironment' which JumpCloud developers can use to connect to staging and local test environments. +- Updated Function: Connect-JCOnline has new parameter '-UserAgent' which JumpCloud developers can use to set their UserAgent when using the module. -BUG FIXES +#### BUG FIXES -Resolved bug on Get-JCGroup where all group attributes would not display. +- Resolved bug on Get-JCGroup where all group attributes would not display. -1.8.2 +## 1.8.2 -RELEASE DATE +#### RELEASE DATE October 12, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fix for Get-JCCommandResult -limit parameter Increased stability for multi-tenant admins Check our full release notes to see new attribute additions released in 1.8.0 +``` -IMPROVEMENTS +#### IMPROVEMENTS -Increased stability for multi-tenant admins +- Increased stability for multi-tenant admins -BUG FIXES +#### BUG FIXES -Resolved bug on Get-JCCommandResult where the limit of value of 1000 would cause an error. Default limit value updated to 100. +- Resolved bug on Get-JCCommandResult where the limit of value of 1000 would cause an error. Default limit value updated to 100. -1.8.1 +## 1.8.1 -RELEASE DATE +#### RELEASE DATE September 21, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Bug fix for Multi-Tenant orgs Check our full release notes to see new attribute additions released in 1.8.0 +``` -BUG FIXES +#### BUG FIXES -Resolved bug on Connect-JCOnline where JumpCloudOrgID would not set correctly +- Resolved bug on Connect-JCOnline where JumpCloudOrgID would not set correctly -1.8.0 +## 1.8.0 -RELEASE DATE +#### RELEASE DATE September 20, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` New LDAP user attribute support has been added! New LDAP user location, information, and telephony attributes. New function Update-JCUsersFromCSV to add or update all attributes including new LDAP attributes on your existing users. @@ -1711,177 +1744,168 @@ New function Update-JCUsersFromCSV to add users to groups or bind them to system Use the updated New-JCImportTemplate function to create a custom user update import CSV file pre-populated with your JumpCloud users to plug into Update-JCUsersFromCSV. Search for users by LDAP information attributes using Get-JCUser. Import-JCUsersFromCSV workflow has been updated to handle new attributes. +``` -FEATURES +#### FEATURES New LDAP extended user attributes: middlename, preferredName, jobTitle, employeeIdentifier (must be unique), department, costCenter, company, employeeType, description, location New LDAP telephony attributes: mobile_number, home_number, work_number, work_mobile_number, work_fax_number New LDAP location attributes: home_streetAddress, home_poBox home_city, home_state, home_postalCode, home_country, work_streetAddress, work_poBox, work_locality, work_region, work_postalCode, work_country -See how to update users in bulk using these new functions in this KB article - -New Function: Update-JCUsersFromCSV to add or update all attributes including new LDAP attributes on your existing user , add users to groups, or bind them to systems in bulk from a CSV file. - -Updated Function: New-JCImportTemplate can now create custom user update CSV import files pre-populated with your JumpCloud users to plug into the new Update-JCUsersFromCSV - -Updated Function: New-JCUser has parameters for creating users with the new LDAP extended, telephony, and location attributes. - -Updated Function: Set-JCUser has parameters for updating a modifying users LDAP extended, telephony, and location attributes. - -Updated Function: Get-JCUser has the ability to search for a filter users based on extended LDAP users. - -Updated Function: New-JCImportTemplate workflow has been updated to prompt users with options to add the new LDAP extended, telephony, and location attributes to their CSV import templates. - -Updated Function: Import-JCUsersFromCSV will verify and error check the unique field employeeIdentifier. The output for Import-JCUsersfromCSV has also been cleaned up. - -IMPROVEMENTS +[See how to update users in bulk using these new functions in this KB article](https://support.jumpcloud.com/customer/portal/articles/2956315) -Updated parameters on Set-JCSystem to allow for modification of parameters via PowerShell pipeline. +- New Function: Update-JCUsersFromCSV to add or update all attributes including new LDAP attributes on your existing user , add users to groups, or bind them to systems in bulk from a CSV file. +- Updated Function: New-JCImportTemplate can now create custom **user update CSV import files** pre-populated with your JumpCloud users to plug into the new Update-JCUsersFromCSV +- Updated Function: New-JCUser has parameters for creating users with the new LDAP extended, telephony, and location attributes. +- Updated Function: Set-JCUser has parameters for updating a modifying users LDAP extended, telephony, and location attributes. +- Updated Function: Get-JCUser has the ability to search for a filter users based on extended LDAP users. +- Updated Function: New-JCImportTemplate workflow has been updated to prompt users with options to add the new LDAP extended, telephony, and location attributes to their CSV import templates. +- Updated Function: Import-JCUsersFromCSV will verify and error check the unique field employeeIdentifier. The output for Import-JCUsersfromCSV has also been cleaned up. -Removed 20 character limit on JumpCloud username field. +#### IMPROVEMENTS -Removed method which forced JumpCloud usernames to be lowercase. +- Updated parameters on Set-JCSystem to allow for modification of parameters via PowerShell pipeline. +- Removed 20 character limit on JumpCloud username field. +- Removed method which forced JumpCloud usernames to be lowercase. +- Updated New-JCImportTemplate to make CSV import file in current working directory. +- Updated Import-JCCommand to call Connect-JCOnline and set TLS to 1.2. +- Updated Function: Import-JCUsersFromCSV to use splatting which allows for CSV to contain columns with non JumpCloud user information +- Progress bars on Import-JCUsersFromCSV and Update-JCUsersFromCSV -Updated New-JCImportTemplate to make CSV import file in current working directory. +## 1.7.0 -Updated Import-JCCommand to call Connect-JCOnline and set TLS to 1.2. - -Updated Function: Import-JCUsersFromCSV to use splatting which allows for CSV to contain columns with non JumpCloud user information - -Progress bars on Import-JCUsersFromCSV and Update-JCUsersFromCSV - -1.7.0 - -RELEASE DATE +#### RELEASE DATE August 14, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Take JumpCloud commands to the next level with Command Deployments! New functions New-JCDeploymentTemplate and Invoke-JCDeployment. Deployments are designed for automation scenarios where a 1:1 association between the command payload and JumpCloud system is required. Use system specific payloads in your JumpCloud commands with variables populated from a CSV file. +``` -FEATURES - -New Function: New-JCDeploymentTemplate used to create a deployment CSV template file that maps to the corresponding JumpCloud command variables to CSV columns. - -New Function: Invoke-JCDeployment for calling the command deployment and feeding the command the '-CommandID' of the target JumpCloud deploy command and the populated deployment CSV file. +#### FEATURES -New Function: Set-JCCommand to update JumpCloud commands programmatically. This command is used by the Invoke-JCDeployment command to update the '-launchType' to trigger and trigger the command. +- New Function: New-JCDeploymentTemplate used to create a deployment CSV template file that maps to the corresponding JumpCloud command variables to CSV columns. +- New Function: Invoke-JCDeployment for calling the command deployment and feeding the command the '-CommandID' of the target JumpCloud deploy command and the populated deployment CSV file. +- New Function: Set-JCCommand to update JumpCloud commands programmatically. This command is used by the Invoke-JCDeployment command to update the '-launchType' to trigger and trigger the command. -IMPROVEMENTS +#### IMPROVEMENTS -Warning action "Inquire" removed from Import-JCUsersFromCSV command. Resolves repetitive "Press Y to continue" message during user validation. +- Warning action "Inquire" removed from Import-JCUsersFromCSV command. Resolves repetitive "Press Y to continue" message during user validation. +- Streamlined JumpCloud banners. Because less is more. -Streamlined JumpCloud banners. Because less is more. +#### BUG FIXES -BUG FIXES +- Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created due to duplicate username or email would show previously created user information. +- Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created would show 'User created'. -Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created due to duplicate username or email would show previously created user information. +## 1.6.0 -Resolved bug on 'Import-JCUserFromCSV' where output for users that were not created would show 'User created'. - -1.6.0 - -RELEASE DATE +#### RELEASE DATE August 3, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Send activation/password reset emails with the new function Send-JCPasswordReset Multi tenant support has been added! Multi tenant admins will be asked to select the org they want to connect to during API authentication. Multi tenant admins can switch the org they are connected to using the Set-JCOrganization command. +``` -FEATURES - -New Function: Send-JCPasswordReset allows admins to use the 'Resend email' button functionality programmatically to send reset/activation emails to targeted users. - -New Function: Set-JCOrganization allows multi tenant admins to change the JumpCloud tenant they are conneted to. - -New Function: Get-JCOrganization allows multi tenant admins to see the JumpCloud tenants they have access to. +#### FEATURES -Updated Function: Connect-JCOnline to prompt multi tenant admins to select their connected tenant. Admins can also skip this prompt by entering a 'JumpCloudOrgID' into the new '-JumpCloudOrgID' parameter to setup connection in automation scenarios. +- New Function: Send-JCPasswordReset allows admins to use the 'Resend email' button functionality programmatically to send reset/activation emails to targeted users. +- New Function: Set-JCOrganization allows multi tenant admins to change the JumpCloud tenant they are conneted to. +- New Function: Get-JCOrganization allows multi tenant admins to see the JumpCloud tenants they have access to. +- Updated Function: Connect-JCOnline to prompt multi tenant admins to select their connected tenant. Admins can also skip this prompt by entering a 'JumpCloudOrgID' into the new '-JumpCloudOrgID' parameter to setup connection in automation scenarios. -IMPROVEMENTS +#### IMPROVEMENTS -All Public functions have been updated to include the x-org-id header when a multi tenant API connection is established. +- All Public functions have been updated to include the [x-org-id](https://docs.jumpcloud.com/2.0/authentication-and-authorization/multi-tenant-organization-api-header) header when a multi tenant API connection is established. -1.5.0 +## 1.5.0 -RELEASE DATE +#### RELEASE DATE July 16, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` New Function: Get-JCBackup to backup user, system user, system, group information to CSV. Updated Function: Get-JCCommandResult to show SystemID +``` -FEATURES +#### FEATURES -New Function: Get-JCBackup to backup user, system user, system, user group, and system group information to CSV +- New Function: Get-JCBackup to backup user, system user, system, user group, and system group information to CSV +- Updated Function: Get-JCCommandResult to show SystemID when querying command results in bulk and '-ByID' -Updated Function: Get-JCCommandResult to show SystemID when querying command results in bulk and '-ByID' +#### IMPROVEMENTS -IMPROVEMENTS +- Module structure updated. .PSM1 function monolithic broken out into single function .PS1 files in [Public](https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Public) and [Private](https://github.com/TheJumpCloud/support/tree/master/PowerShell/JumpCloud%20Module/Private) folders. This allows for easier debugging and updating of the functions within the module. -Module structure updated. .PSM1 function monolithic broken out into single function .PS1 files in Public and Private folders. This allows for easier debugging and updating of the functions within the module. +## 1.4.2 -1.4.2 - -RELEASE DATE +#### RELEASE DATE May 31, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Updated Function: Get-JCCommandResult with new parameter '-MaxResult' Using the parameter '-Skip' and '-MaxResult' admins can return a specific subset of command results. Performance fix for 'Get-JCCommandResult' with increase default limit to 1000 +``` -FEATURES - -Updated Function: Get-JCCommandResult with new parameters '-MaxResult'. '-MaxResult' can be combinded with '-Skip' to return a specific subset of command results. +#### FEATURES -IMPROVEMENTS +- Updated Function: Get-JCCommandResult with new parameters '-MaxResult'. '-MaxResult' can be combinded with '-Skip' to return a specific subset of command results. -Updated Function: Get-JCCommandResult speed and performance by removing sort. +#### IMPROVEMENTS -Updated Function: Get-JCCommandResult increased default limit to 1000 results. +- Updated Function: Get-JCCommandResult speed and performance by removing sort. +- Updated Function: Get-JCCommandResult increased default limit to 1000 results. -1.4.1 +## 1.4.1 -RELEASE DATE +#### RELEASE DATE May 25, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Updated Function: Get-JCCommandResult with new parameters '-TotalCount' and '-Skip' '-TotalCount' returns the number of command results '-Skip' returns only the results after a specified number Bug fix for 'Get-JCSystem' to allow for pagination of over 1000 results. +``` -FEATURES +#### FEATURES -Updated Function: Get-JCCommandResult with new parameters '-TotalCount' to return the total number of command results and '-Skip' to return only command results after a specificed number. Using '-TotalCount' to first find the total number of results before running a command you can then use '-Skip' to query the new command results after running the command. +- Updated Function: Get-JCCommandResult with new parameters '-TotalCount' to return the total number of command results and '-Skip' to return only command results after a specificed number. Using '-TotalCount' to first find the total number of results before running a command you can then use '-Skip' to query the new command results after running the command. -BUG FIXES +#### BUG FIXES -Updated Functions: Get-JCSystem to allow for pagination of over 1000 results. +- Updated Functions: Get-JCSystem to allow for pagination of over 1000 results. -1.4.0 +## 1.4.0 -RELEASE DATE +#### RELEASE DATE May 18, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` Optimized Functions: Get-JCUser and Get-JCSystem have been overhauled!! Optimized functions allow for searching using wildcards on all string properties, boolean filters, and a new -filterDateProperty parameter. @@ -1890,228 +1914,206 @@ Updated Functions: Invoke-JCCommand has added parameter '-NumberOfVariables' This allows admins to pass variables into existing JumpCloud commands. Bug fixes: Connect-JCOnline, Add-JCUserGroupMember, and Get-JCSystemGroupMember Improvements: Optimized Helper Hash Functions to speed up hash table creation and overall performance. +``` -FEATURES - -Updated Function: Invoke-JCCommand has added parameter '-NumberOfVariables' for passing in variables to JumpCloud commands. This parameter will create additional parameters dynamically based on the number of variables being passed. Learn more about passing objects to JumpCloud commands under the heading 'Sending data with triggers' here. - -Updated Function: Get-JCSystem to use the /search/systems API endpoint. - -Get-JCSystem can now do front and end wild card searches on all string properties - -Example 'Get-JCsystem -hostname 'admin' - -Get-JCSystem can now do date searches on 'Created' date field using new parameter -filterDateProperty - -Get-JCSystem can now return only specific properties using new parameter -returnProperties - -Updated Function: Get-JCUser to use the /search/systemusers API endpoint. - -Get-JCUser can now do front and end wild card searches on all string properties - -Example 'Get-JCUser -username 'bob' - -Get-JCUser can now do date searches on 'Created' and 'password_expiration_date' date fields using new parameter -filterDateProperty +#### FEATURES -Get-JCUser can now return only specific properties using new parameter -returnProperties +- Updated Function: Invoke-JCCommand has added parameter '-NumberOfVariables' for passing in variables to JumpCloud commands. This parameter will create additional parameters dynamically based on the number of variables being passed. Learn more about passing objects to JumpCloud commands under the heading 'Sending data with triggers' [here](https://support.jumpcloud.com/customer/en/portal/articles/2443894-how-to-use-command-triggers). +- Updated Function: Get-JCSystem to use the [/search/systems API endpoint](https://docs.jumpcloud.com/1.0/search/search-systems). + - Get-JCSystem can now do front and end wild card searches on all string properties + - Example 'Get-JCsystem -hostname '\*admin\*' + - Get-JCSystem can now do date searches on 'Created' date field using new parameter -filterDateProperty + - Get-JCSystem can now return only specific properties using new parameter -returnProperties +- Updated Function: Get-JCUser to use the [/search/systemusers API endpoint](https://docs.jumpcloud.com/1.0/search/list-system-users). + - Get-JCUser can now do front and end wild card searches on all string properties + - Example 'Get-JCUser -username '\*bob\*' + - Get-JCUser can now do date searches on 'Created' and 'password_expiration_date' date fields using new parameter -filterDateProperty + - Get-JCUser can now return only specific properties using new parameter -returnProperties -BUG FIXES +#### BUG FIXES -Updated Functions: Get-JCSystemGroupMember to properly paginate results greater than 100 system group members. +- Updated Functions: Get-JCSystemGroupMember to properly paginate results greater than 100 system group members. +- Updated Function: Add-JCUserGroupMember to handle user error additions more gracefully. +- Updated Function: Connect-JCOnline to Write-Error instead of Write-Output if API key validation fails -Updated Function: Add-JCUserGroupMember to handle user error additions more gracefully. +#### IMPROVEMENTS -Updated Function: Connect-JCOnline to Write-Error instead of Write-Output if API key validation fails +- Updated Helper Hash Functions to leverage the -returnProperties which speeds up hash table creation and overall performance. -IMPROVEMENTS +## 1.3.0 -Updated Helper Hash Functions to leverage the -returnProperties which speeds up hash table creation and overall performance. - -1.3.0 - -RELEASE DATE +#### RELEASE DATE April 27, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` New Function: Set-JCUserGroupLDAP to toggle the LDAP presentation on/off for JumpCloud user groups. New Function: Get-JCCommandTarget to query the JumpCloud systems or system groups associated with a JumpCloud command. New Function: Add-JCCommandTarget to add JumpCloud system or system group associations to JumpCloud commands. New Function: Remove-JCCommandTarget to remove JumpCloud system or system group associations from JumpCloud commands. Updated Functions: Add-JCUser and Set-JCUser with boolean parameter '-password_never_expires' +``` -FEATURES - -New Function: Set-JCUserGroupLDAP to toggle the LDAP presentation on/off for JumpCloud user groups. - -New Function: Get-JCCommandTarget to query the JumpCloud systems or system groups associated with a JumpCloud command. - -New Function: Add-JCCommandTarget to add JumpCloud system or system group associations to JumpCloud commands. - -New Function: Remove-JCCommandTarget to remove JumpCloud system or system group associations from JumpCloud commands. - -Updated Functions: Add-JCUser and Set-JCUser with boolean parameter 'password_never_expires'. +#### FEATURES -BUG FIXES +- New Function: Set-JCUserGroupLDAP to toggle the LDAP presentation on/off for JumpCloud user groups. +- New Function: Get-JCCommandTarget to query the JumpCloud systems or system groups associated with a JumpCloud command. +- New Function: Add-JCCommandTarget to add JumpCloud system or system group associations to JumpCloud commands. +- New Function: Remove-JCCommandTarget to remove JumpCloud system or system group associations from JumpCloud commands. +- Updated Functions: Add-JCUser and Set-JCUser with boolean parameter 'password_never_expires'. -Updated Functions: Add-JCUser and Set-JCUser to allow UNIX_UID and UNIX_GUID to a value in the range 0-4294967295. +#### BUG FIXES -Updated Function: Get-JCSystemGroupMember to properly display output when using the 'ByID' parameter set. +- Updated Functions: Add-JCUser and Set-JCUser to allow UNIX_UID and UNIX_GUID to a value in the range 0-4294967295. +- Updated Function: Get-JCSystemGroupMember to properly display output when using the 'ByID' parameter set. -1.2.0 +## 1.2.0 -RELEASE DATE +#### RELEASE DATE February 28, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` New Function New-JCCommand and Remove-JCCommand to create and remove JumpCloud commands from the shell. New Function Import-JCCommand to import JumpCloud commands from a URL Updated Function Get-JCUser to search users via username, firstname, lastname, or email Updated Function Connect-JCOnline to check for and install module updates and added '-force' parameter for use in scripts and automation +``` -FEATURES +#### FEATURES -New Function: New-JCCommand to create JumpCloud commands from the shell +- New Function: New-JCCommand to create JumpCloud commands from the shell +- New Function: Remove-JCCommand to delete JumpCloud commands +- New Function: Import-JCCommand to import JumpCloud commands from a URL +- Updated Function: Get-JCUser to use the same search endpoint as the UI. Get-JCUser can now search via 'username','firstname','lastname', or 'email'. By default Get-JCUser still returns all users. +- Updated Function: Connect-JCOnline added banner to display current JumpCloud module version information. Added parameter sets for 'Interactive' and 'Force' modes. 'Interactive' displays banner and automatic module update options when new version becomes available. 'Force' can be used in automation scenarios to connect to JumpCloud and set $JCAPIKEY variable. -New Function: Remove-JCCommand to delete JumpCloud commands +#### IMPROVEMENTS -New Function: Import-JCCommand to import JumpCloud commands from a URL +- Updated Function: Add-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command +- Updated Function: Add-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command +- Updated Function: Remove-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command +- Updated Function: Remove-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command -Updated Function: Get-JCUser to use the same search endpoint as the UI. Get-JCUser can now search via 'username','firstname','lastname', or 'email'. By default Get-JCUser still returns all users. +## 1.1.0 -Updated Function: Connect-JCOnline added banner to display current JumpCloud module version information. Added parameter sets for 'Interactive' and 'Force' modes. 'Interactive' displays banner and automatic module update options when new version becomes available. 'Force' can be used in automation scenarios to connect to JumpCloud and set $JCAPIKEY variable. - -IMPROVEMENTS - -Updated Function: Add-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command - -Updated Function: Add-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command - -Updated Function: Remove-JCUserGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command - -Updated Function: Remove-JCSystemGroupMember with 'name' alias for 'GroupName' parameter to allow the command to accept pipeline input from the 'Get-JCGroup' command - -1.1.0 - -RELEASE DATE +#### RELEASE DATE January 8, 2018 -RELEASE NOTES +#### RELEASE NOTES +``` New function Set-JCSystemUser to set user / system permissions to standard or administrator. Updated import functions and Add/Get-JCSystemUser to accommodate for user / system permissions. +``` -FEATURES - -New Function: Set-JCSystemUser can modify user/system permissions and change the user from a standard user to an administrator or vice versa - -New Helper Function: Get-Hash_ID_Sudo hash table of UserID and ($true/$false) for Sudo parameter - -New Helper Function: Get-Hash_SystemID_HostName hash table of SystemID and system DisplayName - -IMPROVEMENTS - -Updated Function: Add-JCSystemUser has boolean parameter '-Administrator' for setting system permissions during add +#### FEATURES -Updated Function: Get-JCSystemUser to show system permissions 'Administrator: $true/$false' and system DisplayName +- New Function: [Set-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Set-JCSystemUser) can modify user/system permissions and change the user from a standard user to an administrator or vice versa +- New Helper Function: Get-Hash_ID_Sudo hash table of UserID and ($true/$false) for Sudo parameter +- New Helper Function: Get-Hash_SystemID_HostName hash table of SystemID and system DisplayName -Updated Function: New-JCImportTemplate to add in 'Administrator' header to .csv file when 'Y' is selected for 'Do you want to bind your new users to existing JumpCloud systems during import?' +#### IMPROVEMENTS -Updated Function: Import-JCUserFromCSV to accept 'True/$True' and 'False/$False' or blank for the 'Administrator' header in the .csv import file +- Updated Function: [Add-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Add-JCSystemUser) has boolean parameter '-Administrator' for setting system permissions during add +- Updated Function: [Get-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Get-JCSystemUser) to show system permissions 'Administrator: $true/$false' and system DisplayName +- Updated Function: [New-JCImportTemplate](https://github.com/TheJumpCloud/support/wiki/New-JCImportTemplate) to add in 'Administrator' header to .csv file when 'Y' is selected for 'Do you want to bind your new users to existing JumpCloud systems during import?' +- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) to accept 'True/$True' and 'False/$False' or blank for the 'Administrator' header in the .csv import file +- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) has switch '-Force' parameter to skip the Import GUI and data validation when importing users +- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) to look for duplicate email addresses and usernames in import .csv as part of data validation +- Updated Function: [Get-JCGroup](https://github.com/TheJumpCloud/support/wiki/Get-JCGroup) has -Name parameter which can be used to find attributes like the POSIX group number of a given group -Updated Function: Import-JCUserFromCSV has switch '-Force' parameter to skip the Import GUI and data validation when importing users +#### BUG FIXES -Updated Function: Import-JCUserFromCSV to look for duplicate email addresses and usernames in import .csv as part of data validation +- Updated Function: [Get-JCSystemUser](https://github.com/TheJumpCloud/support/wiki/Get-JCSystemUser) to properly clear '$resultsArray' to display accurate results when recursivly listing system users +- Updated Function: [Connect-JCOnline](https://github.com/TheJumpCloud/support/wiki/Connect-JCOnline) and removed conflicting script variable scoping +- Updated Function: [Import-JCUserFromCSV](https://github.com/TheJumpCloud/support/wiki/Import-JCUsersFromCSV) will no longer inaccurately show 'Added' for users who were not bound to a system during import in the import results -Updated Function: Get-JCGroup has -Name parameter which can be used to find attributes like the POSIX group number of a given group - -BUG FIXES - -Updated Function: Get-JCSystemUser to properly clear '$resultsArray' to display accurate results when recursivly listing system users - -Updated Function: Connect-JCOnline and removed conflicting script variable scoping - -Updated Function: Import-JCUserFromCSV will no longer inaccurately show 'Added' for users who were not bound to a system during import in the import results +```PowerShell PS> Get-Command -Module JumpCloud -CommandType Name Version Source - ---- - -Function Add-JCSystemGroupMember 1.1.0 JumpCloud -Function Add-JCSystemUser 1.1.0 JumpCloud -Function Add-JCUserGroupMember 1.1.0 JumpCloud -Function Connect-JCOnline 1.1.0 JumpCloud -Function Get-JCCommand 1.1.0 JumpCloud -Function Get-JCCommandResult 1.1.0 JumpCloud -Function Get-JCGroup 1.1.0 JumpCloud -Function Get-JCSystem 1.1.0 JumpCloud -Function Get-JCSystemGroupMember 1.1.0 JumpCloud -Function Get-JCSystemUser 1.1.0 JumpCloud -Function Get-JCUser 1.1.0 JumpCloud -Function Get-JCUserGroupMember 1.1.0 JumpCloud -Function Import-JCUsersFromCSV 1.1.0 JumpCloud -Function Invoke-JCCommand 1.1.0 JumpCloud -Function New-JCImportTemplate 1.1.0 JumpCloud -Function New-JCSystemGroup 1.1.0 JumpCloud -Function New-JCUser 1.1.0 JumpCloud -Function New-JCUserGroup 1.1.0 JumpCloud -Function Remove-JCCommandResult 1.1.0 JumpCloud -Function Remove-JCSystem 1.1.0 JumpCloud -Function Remove-JCSystemGroup 1.1.0 JumpCloud -Function Remove-JCSystemGroupMember 1.1.0 JumpCloud -Function Remove-JCSystemUser 1.1.0 JumpCloud -Function Remove-JCUser 1.1.0 JumpCloud -Function Remove-JCUserGroup 1.1.0 JumpCloud -Function Remove-JCUserGroupMember 1.1.0 JumpCloud -Function Set-JCSystem 1.1.0 JumpCloud -Function Set-JCSystemUser 1.1.0 JumpCloud -Function Set-JCUser 1.1.0 JumpCloud - -How to update to the latest version of the JumpCloud PowerShell Module - -1.0.0 - -RELEASE DATE +CommandType Name Version Source +----------- ---- ------- ------ +Function Add-JCSystemGroupMember 1.1.0 JumpCloud +Function Add-JCSystemUser 1.1.0 JumpCloud +Function Add-JCUserGroupMember 1.1.0 JumpCloud +Function Connect-JCOnline 1.1.0 JumpCloud +Function Get-JCCommand 1.1.0 JumpCloud +Function Get-JCCommandResult 1.1.0 JumpCloud +Function Get-JCGroup 1.1.0 JumpCloud +Function Get-JCSystem 1.1.0 JumpCloud +Function Get-JCSystemGroupMember 1.1.0 JumpCloud +Function Get-JCSystemUser 1.1.0 JumpCloud +Function Get-JCUser 1.1.0 JumpCloud +Function Get-JCUserGroupMember 1.1.0 JumpCloud +Function Import-JCUsersFromCSV 1.1.0 JumpCloud +Function Invoke-JCCommand 1.1.0 JumpCloud +Function New-JCImportTemplate 1.1.0 JumpCloud +Function New-JCSystemGroup 1.1.0 JumpCloud +Function New-JCUser 1.1.0 JumpCloud +Function New-JCUserGroup 1.1.0 JumpCloud +Function Remove-JCCommandResult 1.1.0 JumpCloud +Function Remove-JCSystem 1.1.0 JumpCloud +Function Remove-JCSystemGroup 1.1.0 JumpCloud +Function Remove-JCSystemGroupMember 1.1.0 JumpCloud +Function Remove-JCSystemUser 1.1.0 JumpCloud +Function Remove-JCUser 1.1.0 JumpCloud +Function Remove-JCUserGroup 1.1.0 JumpCloud +Function Remove-JCUserGroupMember 1.1.0 JumpCloud +Function Set-JCSystem 1.1.0 JumpCloud +Function Set-JCSystemUser 1.1.0 JumpCloud +Function Set-JCUser 1.1.0 JumpCloud + +``` + +### [How to update to the latest version of the JumpCloud PowerShell Module](https://github.com/TheJumpCloud/support/wiki/Updating-the-JumpCloud-PowerShell-Module) + +## 1.0.0 + +#### RELEASE DATE November 29, 2017 -PS > Get-Command -Module JumpCloud - -CommandType Name Version Source +```PowerShell ---- +PS > Get-Command -Module JumpCloud -Function Add-JCSystemGroupMember 1.0.0 JumpCloud -Function Add-JCSystemUser 1.0.0 JumpCloud -Function Add-JCUserGroupMember 1.0.0 JumpCloud -Function Connect-JCOnline 1.0.0 JumpCloud -Function Get-JCCommand 1.0.0 JumpCloud -Function Get-JCCommandResult 1.0.0 JumpCloud -Function Get-JCGroup 1.0.0 JumpCloud -Function Get-JCSystem 1.0.0 JumpCloud -Function Get-JCSystemGroupMember 1.0.0 JumpCloud -Function Get-JCSystemUser 1.0.0 JumpCloud -Function Get-JCUser 1.0.0 JumpCloud -Function Get-JCUserGroupMember 1.0.0 JumpCloud -Function Import-JCUsersFromCSV 1.0.0 JumpCloud -Function Invoke-JCCommand 1.0.0 JumpCloud -Function New-JCImportTemplate 1.0.0 JumpCloud -Function New-JCSystemGroup 1.0.0 JumpCloud -Function New-JCUser 1.0.0 JumpCloud -Function New-JCUserGroup 1.0.0 JumpCloud -Function Remove-JCCommandResult 1.0.0 JumpCloud -Function Remove-JCSystem 1.0.0 JumpCloud -Function Remove-JCSystemGroup 1.0.0 JumpCloud -Function Remove-JCSystemGroupMember 1.0.0 JumpCloud -Function Remove-JCSystemUser 1.0.0 JumpCloud -Function Remove-JCUser 1.0.0 JumpCloud -Function Remove-JCUserGroup 1.0.0 JumpCloud -Function Remove-JCUserGroupMember 1.0.0 JumpCloud -Function Set-JCSystem 1.0.0 JumpCloud -Function Set-JCUser 1.0.0 JumpCloud +CommandType Name Version Source +----------- ---- ------- ------ +Function Add-JCSystemGroupMember 1.0.0 JumpCloud +Function Add-JCSystemUser 1.0.0 JumpCloud +Function Add-JCUserGroupMember 1.0.0 JumpCloud +Function Connect-JCOnline 1.0.0 JumpCloud +Function Get-JCCommand 1.0.0 JumpCloud +Function Get-JCCommandResult 1.0.0 JumpCloud +Function Get-JCGroup 1.0.0 JumpCloud +Function Get-JCSystem 1.0.0 JumpCloud +Function Get-JCSystemGroupMember 1.0.0 JumpCloud +Function Get-JCSystemUser 1.0.0 JumpCloud +Function Get-JCUser 1.0.0 JumpCloud +Function Get-JCUserGroupMember 1.0.0 JumpCloud +Function Import-JCUsersFromCSV 1.0.0 JumpCloud +Function Invoke-JCCommand 1.0.0 JumpCloud +Function New-JCImportTemplate 1.0.0 JumpCloud +Function New-JCSystemGroup 1.0.0 JumpCloud +Function New-JCUser 1.0.0 JumpCloud +Function New-JCUserGroup 1.0.0 JumpCloud +Function Remove-JCCommandResult 1.0.0 JumpCloud +Function Remove-JCSystem 1.0.0 JumpCloud +Function Remove-JCSystemGroup 1.0.0 JumpCloud +Function Remove-JCSystemGroupMember 1.0.0 JumpCloud +Function Remove-JCSystemUser 1.0.0 JumpCloud +Function Remove-JCUser 1.0.0 JumpCloud +Function Remove-JCUserGroup 1.0.0 JumpCloud +Function Remove-JCUserGroupMember 1.0.0 JumpCloud +Function Set-JCSystem 1.0.0 JumpCloud +Function Set-JCUser 1.0.0 JumpCloud + + +``` From f3c9ff83861da478e475e4c33276600157f16089 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Fri, 15 May 2026 09:58:34 -0300 Subject: [PATCH 04/18] fix: update manifest and changelog date to May 15 for CI validation --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 2 +- PowerShell/ModuleChangelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 6c35c5ebf..7fe08ab59 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: May 14, 2026 +# Generated on: May 15, 2026 # @{ diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 41b08296b..3d26b1987 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: May 14, 2026 +Release Date: May 15, 2026 ### RELEASE NOTES From f46c9c25cee15eba5392c30abfc58b6b266577e0 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Fri, 15 May 2026 10:22:09 -0300 Subject: [PATCH 05/18] fix: adjust manifest date alignment for UTC runner validation --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 2 +- PowerShell/ModuleChangelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 7fe08ab59..6c35c5ebf 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: May 15, 2026 +# Generated on: May 14, 2026 # @{ diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 3d26b1987..41b08296b 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: May 15, 2026 +Release Date: May 14, 2026 ### RELEASE NOTES From 6e2d98d7821eb3e4afc8355e78209f6a9cd48674 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Fri, 15 May 2026 10:54:44 -0300 Subject: [PATCH 06/18] fix: align manifest and changelog dates to May 15 with corrected paths --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 2 +- PowerShell/ModuleChangelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 6c35c5ebf..7fe08ab59 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: May 14, 2026 +# Generated on: May 15, 2026 # @{ diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 41b08296b..3d26b1987 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: May 14, 2026 +Release Date: May 15, 2026 ### RELEASE NOTES From ad11d9ada6871efc91140e9ab848a33ba0184975 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Fri, 15 May 2026 15:28:01 -0300 Subject: [PATCH 07/18] fix: align manifest date with commit history timezone for CI validation --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 2 +- PowerShell/ModuleChangelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 7fe08ab59..49e162364 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: May 15, 2026 +# Generated on: 5/15/2026 # @{ diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 3d26b1987..bf2f08e31 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: May 15, 2026 +Release Date: 5/15/2026 ### RELEASE NOTES From c300f2e1b7695aa9f304e58c0706c040dc0d76cf Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Fri, 15 May 2026 16:01:57 -0300 Subject: [PATCH 08/18] fix: adjust changelog and manifest date formatting for runner validation --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 2 +- PowerShell/ModuleChangelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 49e162364..834d6ed55 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: 5/15/2026 +# Generated on: 5/14/2026 # @{ diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index bf2f08e31..113b5393b 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: 5/15/2026 +**Release Date:** 5/14/2026 ### RELEASE NOTES From 09969aba1bc7500c742f1b32f19d80499b917b5d Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Fri, 15 May 2026 16:20:53 -0300 Subject: [PATCH 09/18] fix: match numeric date format with server commit timestamp --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 2 +- PowerShell/ModuleChangelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 834d6ed55..49e162364 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: 5/14/2026 +# Generated on: 5/15/2026 # @{ diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 113b5393b..bf2f08e31 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -**Release Date:** 5/14/2026 +Release Date: 5/15/2026 ### RELEASE NOTES From 515b9b6623070f614a702cbf7777d54a9aa05b59 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Fri, 15 May 2026 17:03:20 -0300 Subject: [PATCH 10/18] fix: match specific string formats expected by module and changelog tests --- PowerShell/ModuleChangelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index bf2f08e31..3d26b1987 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: 5/15/2026 +Release Date: May 15, 2026 ### RELEASE NOTES From dd644ca3c4a4f2a775655a224311319ff344d9fa Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Tue, 19 May 2026 16:46:25 -0300 Subject: [PATCH 11/18] fix: orchestrate help and pester test generation into cross-platform build script --- PowerShell/Deploy/Build-Module.ps1 | 55 ++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/PowerShell/Deploy/Build-Module.ps1 b/PowerShell/Deploy/Build-Module.ps1 index cca9f3ea1..a16b7baff 100755 --- a/PowerShell/Deploy/Build-Module.ps1 +++ b/PowerShell/Deploy/Build-Module.ps1 @@ -5,7 +5,7 @@ param ( $ReleaseType, [Parameter()] [String] - $ModuleName, + $ModuleName = "JumpCloud", [Parameter()] [string] $RequiredModulesRepo, @@ -15,7 +15,6 @@ param ( ) # Region: Load Configuration # Manually define variables to ensure they are passed correctly to the child script on all platforms -$ModuleName = "JumpCloud" $ModuleFolderName = "JumpCloud Module" $DeployFolder = "/PowerShell/Deploy" @@ -53,4 +52,54 @@ $NewModuleChangelogRecord = New-ModuleChangelog -LatestVersion:($ModuleVersion) if (!(($ModuleChangelog | Select-Object -First 1) -match $ModuleVersion)) { ($NewModuleChangelogRecord + ($ModuleChangelog | Out-String)).Trim() | Set-Content -Path:($FilePath_ModuleChangelog) -Force } -# EndRegion Updating module change log \ No newline at end of file +# EndRegion Updating module change log + +# ==================================================================== +# Region: Orchestrating Required Build Functions (Joe's Feedback) +# ==================================================================== + +# Security guarantee: if the parameter is empty, the default is set. +if (-not $ModuleName) { + $ModuleName = "JumpCloud" +} + +Write-Host ('[status] Running synchronized SDK endpoints sync...') +$SdkSyncPath = Join-Path -Path $PSScriptRoot -ChildPath "SdkSync" +$SdkScriptPath = Join-Path -Path $SdkSyncPath -ChildPath "jcapiToSupportSync.ps1" +if (Test-Path $SdkScriptPath) { + & $SdkScriptPath +} else { + Write-Warning "SdkSync script not found at $SdkScriptPath" +} + +Write-Host ('[status] Generating Module Help Files...') +$BuildHelpPath = Join-Path -Path $PSScriptRoot -ChildPath "Build-HelpFiles.ps1" +if (Test-Path $BuildHelpPath) { + $ModuleFolder = Split-Path -Parent $FilePath_psd1 + + # 1. Take a screenshot of where the terminal is now so you don't break the rest of the script. + $PreviousLocation = Get-Location + + # 2. Navigate PowerShell 5.1 to the Docs folder so it can find the about_JumpCloud.md file. + Set-Location -Path (Join-Path -Path $ModuleFolder -ChildPath "Docs") + + # 3. It runs the help script normally, just as it was doing before. + & $BuildHelpPath -ModuleName $ModuleName -ModulePath $ModuleFolder + + # 4. Return the terminal to exactly where it was before. + Set-Location -Path $PreviousLocation +} else { + Write-Warning "Build-HelpFiles script not found at $BuildHelpPath" +} + +Write-Host ('[status] Autogenerating Pester Test Files...') +$BuildTestsPath = Join-Path -Path $PSScriptRoot -ChildPath "Build-PesterTestFiles.ps1" +if (Test-Path $BuildTestsPath) { + # Called without any parameters, as it discovers the paths on its own. + & $BuildTestsPath +} + else { + Write-Warning "Build-PesterTestFiles script not found at $BuildTestsPath" +} + +# EndRegion Orchestrating Required Build Functions \ No newline at end of file From 1e4ba3b80a864efa5017d8fc480515c6b08d3e5f Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Tue, 19 May 2026 17:07:10 -0300 Subject: [PATCH 12/18] chore: update manifest version for release validation --- PowerShell/JumpCloud Module/JumpCloud.psd1 | Bin 7232 -> 14904 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 49e162364bd4f7fc325ed5623855a6f14807389d..a14359a7b7dfade0cc3a9a8674528527f5c8dc05 100644 GIT binary patch literal 14904 zcmeI3OK)4p6~|{?px=RjfXXRq$+BIyE?_i@Bs)qh$B=BdTUnxQITFc|l>8|2VFND$ zFS07S>7wobH-|?v_ue6SNvWH*5Gay!XXd>A=P?id>z^y(m*E#-C3M1GI1IgT5?+OF z7=>}@tL<2yJK-$+O`p!gX>1#)-%zhk{8oLo8op7#voHu-vG=*gtxhO7okyCJ@yC*2?y$Psu{=Pt1s?G>bI%>N8ycH#+vC!|2yHCJ{^j#(I`{u>N#{a!u_xw zZiV0K|82eB4)?NgjQukFHMaOXQ2dLyI0+Y#=aN>eZ6tn%>Nkj7^);rhy_b603qQtQ zX!uYvjWp|#+Fd8;)@)$fuiIrUa<{KhebL#|f3ps~ALv!G!kTy*Ndp@bd$?>*!avlC zMa^BUJGe1TyBOu+a_WdC)Bm>qUA8$(WhH#yDg6HtH(>VYzVJ+^{Q%fQ&jO;I7SXUxbC}fWBuMtdQL;j;+|LK zCfTVMK8PdZ3taWYoqg*|rjEG8lkw{_wL6aCv^vKVX#<=(s+!TF%E4}o7Gvq-Jp7a) z8SR{?wX6T=3(AL=x;vckl29>Slkhi?bol#gNkJSkecq4_ztFcPk85h(6hcn*p2oog z9F6oEM(;b8zf|Sfj?XQ+BzZvaD{z$qs!}n@i3`<0fooIVJdZ0Nz%PWW&R+W%# z%+o&W`Gu+rividhjzAH4%|?^e&>pX@eBr`w# zmNv}NmI=TObtcxd`p2@s4cQQlcEfL^u|KQYxEDWdN{h#_)}Vb?d5gMZajiODo>u5X zo4UGM$-{BV@l~|!WvdW!3)rVG(p~6fRU=uV6A@t1VJvhIKN*p-I-Y?~QjI6ycrCx_ ztBoAWbMqNSTHXX#Y1Wj5r{~dq&2B!5T*sAKoq4@VEm!OZ^1W~6am~zV)s5F3BV`V3 zgr++)|7O#9q1y7gX1cAJsY@1R$UvHUPA>!ot`k+)A$k=E$8DM;MDqq?5j$j;`c$!S+-UkDO2^e zlFB1QLT5YKiMx0Qk=o^cFWyh1^kf^WZ_QK7wx#|jW_h+^)Z$*ZqEXLOKMo?st}a35e zw1%b@d#XN`S*bHlr4P%bWFjz5mLRLpPF(Iy)}QPP5G9BKtp0j2u0f4f?*%`$ivXv* zEJHyN?%?40WG437=)r&1x+meIzOnQ0QJ-DXG&dZbPu5Db8katct>8Sb`Dmg}Q%4p@ zOt-AqdS^j}djLqs`s|tBhjA4-p5&=& z??=)KyL41PdwP*+s0Z5Tw4C;L!mgpWt6i6S+AnO*S*5=({-~$1GudSzYIu9p$IpT0GDMzfPl-s)4%s}O@==DGW%c2sXVd;lIylm50p85o-$k2Q?D(jsb$esu zUc@3e@-e+wBY@EM+F~YlWZIyNU1+C<)z4(N-X*H4PxBqxD)((Fu6(XsJC67KdD=B^ z)_mpu#A^4C_L{2F%;x~Nc+sh}GoND9BNx?(Ssy=RB}c7?pIZz)jc8$qms0@N*dK~K z?Zk*i%~0YvJ%tvz!22!AYeIgB&ODswI&Vs}C@=X8v-v9bY{rf2;h=82lBUWW)kj`0 zhx2fq^OU2yuG_0!pis`uN|`M}e-3rYVieS5Kh)|&G< zzoX)uaL`lE>8sA^&f&D)kKI)2!oG6ZnLaO;jadD>n@KV6QKD6kvWAE@*s9Nb5i@dE z-ae4;o1d3wUyZxO&Udcua{ooSG3(Etx5`Hz@!c!&Hg37Ze#U%Gx5A$z0MnxXXW;qYR)=)^|=~XgjKDz zSz#`xl^nZ{?Iy>0uez15PB+b1_VSWOazBCJtFNG&Qs*>EwNG``*QHXsx*6Mc7dK^8D9k*1s(m&M} zWMOWoO55uL&J?VP9HJ2}+ zop!q!q-IduPsB*)K~r%6mHIOZ}?P7PX#_PL`WR zBlUVL2)4w{L56=%~|&}kFOS|)1F?_uU2YKerMj>zB)W&T+}I@|kSIt$>0BIzmDQu8FBuk#4BTh(m&6rgz@^MxWdrxriPTGH+T zrgI0X%qGRz=QHr)vmVBiW-7umKda%_!hVhq?&fiBG7|3pkB@0*MIgfU)D9h0y-u@6 zzRH<)MwDBNoMUHc+;YNR+saQ{SN3aYti;(k&xZ>0vpa3KXUhCH(fwFhB5r_a&Iav1 zq@SD`$N9;rodmMC!5IoCq?{*NKfaqclp>LHoJUrtKJ6UepU>hB?@Tw};g1Y!r;|Tl z^45zQ8b=9pd7LZH#!hh>N86da+*YzX)UJVaZp|mV!^GKSYUl1jPM_E@((~&*iRS#3 zH6y2spQB9%vJLjdKG?}_FTk6htYS&dB014;EO3fG(#|R8$=vi|2Zg6@X?BMU0SN_m zzL@U%TEw)o^{V9Onmdg{2lnd?D!uyMU5nt{{xFSW$;6M{fJwiI@Eb-|uBY|#-Yb#} ztx=s3Gg#T#9eehUtj+Az#1R_biMq3XZ)4St1vtZYjpD1^-l9@8O`6Z;dSSfTi5o>! zh{$a8u^T*rX48oC?(d0zq%Ga0@@fX{9m=Zy-S0d5_jJzZEu}Sx$2zC)?<=DIT+$=? zbH%5}dQV9;iN`r|${clghx z`Lzjl*JWu=1YGJQ?YhQsGK|MyrFD(6J9q0*9^-MS_7YClCF!o>`;PV#`Rz!`-L4sb zpRFO{gx#4XCR?Pj8}w+AyMMX9c-{|hCC^yzWsTuG)`v6f|E$K|N#oz^wXF2Sq>k># zTckn*L&=7eV8nK$?Y;$iS_C({lR0P0f2dl|VjU+${4yxV5OE8yOmUQGnviuaY~0mv zVQz=t#b3c}ggxPVu@8kE~c>9%@Lu|w^K;x+?$q(WLe3MnNB=M8VqHTupsIuHVr5xci z!WHpoH*y8CzK&82;&}-K9EZe`~uVR`k}5vFokEN&s; cc9f6bJaNZkOLC?N8%48vowE!V;@1bD}8)hMgG+-E>=E*#!ns7~NMlaa->san?=>z0>~h_j~Ll zjnkCdIq6Qv2det9pZ6F0*Mr^xyHimS3zqOyE`-V1LTQ$`wf-+fl1*Y&ME%|YwqA== zXr7CR%{QM|O=L3_7r9iaVPhSxWG=#-Jqez)4yp7Ldp{h#AD$eaoP*Z;{Ldb^&O$A- zypjp&bD46zsTLLz+Hqr4D6QxhnXg#BlBQNU=shZxmv&sRt=2(il2M;zd==V2L6#QD zTxg~iB?oI~&~s<2O<-{vi~@IZR%DsdWb?!9GLqIzFr26)4=0O{ zqxtFR{OsHsGA{BJT;v_pr<#LrX zlOrYx46|wDqGEm8o2Y6Jjvt2aw&@bEaU3&y-Y_kU&}$I|mhn^=n+y~xYocI_A`Qvu zJeK)}Wm>J_NJ>D@kIjRS_n=;co~;DrRObx^14+)8$fm6_Y$`RZimogPF;`ahQ`rAJJ1NKC9n`vPUH0Trz-`9w3R3?yU zSjZ67Z@J2taCOI28gBxW*Hq>ABCo~$2~G2rV4+G93)Cah`*3pm`0l^0 z@+8)6H6OGJ1^Sw1yy}{ThC25u6-VsvAI^{1IEl{B_UZ;t)I93OODs?UE@ZY8k@+i* z{#qch=5TmY_A{BHBFHhzSj~CNM7ow*rM8+gEuk0aZnsRAUb#J%3Ge!*v5l|C@V9Lg z!EE|#P#4!tYN%hB{!!PqucJNdC;gu7r(FX(h0)-pEGt0x>#4?uJZzOnWeZiAO=a9Yh_1sUzy27C>IiR zcyT+WhmKS26!_`hvZ*B0(YY$yzir>*l~R{2v`U)kcw~FWoGve!(73;#&4(zVNU>Dq zG>O@ZjH8h2$S|Hp6(JI_KnJ1{zy#BqBfFKSOe7g*4cD4uY|~W%{R&?N*!lCsDHQZ- zEuYk-(~%5tsXmUP!7meJp1r_el2y6x2pF_bH+tfFDRQ55Z3=YAJ7hlct}GmP=*wb( zA$5BGzKi(CBUzY7k;R*Fo@+TTa^WAJZ4k2LTB{=KV&KTn7|i}LTIo3S6A!-?8EpKb zm$*d!1J|OhkrS1sn6E@lW6a8mBV7-=-Eu8x_c%&q?WuBU*M*MY6sS16HG6BV+fR$; zT;93(C`=L8aVU9pg{UH>3%Nwkjh>J+F)l+7Dwg5K=Y5GgR*R=ynkbAQf2;McztrVc zC%sFSTZ7x7*B#F?G!CDg+t4AWLGZJpDa@X$Y~9Pa+OVHbm!F*it`hd@=g2Naefe+Y zy)(h>pex=swM&Yi&f@c%g)2c%qlog}UUXY@TSZ-K<1Fi1?yzZZB|5bnxjj6av|oSf zlGLnSx4V0#L!&)Keq*N)3bX82mDGCuZuW46zC4+I-62{3wTbCkeG?u0s`V-Qm)g)} zq~dokUUv7p#qH)Q^ZY|oL6`dHEJA^H?{Ic>(_q?LWS6$Sz(y_kgsv2HHlSfQQqZk6 z(!*!d45!;#$F17}X@AXW|t4#C%t$;ZOU6tf0_@86!nJe6_t7<4IUdwK- zb!h0q*NlTZ(7n>ZppMDybo@{$;+haFbUmrn7Hg`z2=5%)?XvX=l4dG)?%6a+BHVEQ zZ?4W^Tb-a+YUo{??c?Yx*OCKWdrSFVy{U1&|5y9;9mkTJH&6dhUkyMwe073esbNF) z&xd{2%bOkBdSg190H83c&_E36jkxC}MA(Q4QRQx@$J;Wxm3SoKiH5gq{bI{-e+M2C z;gM7$s}94fz+ro;ev&nLxL4*|9H252Ua^J?kjFqIi-=ajYkeh0@zUsN<_}B9tFX*02R0RTF@&MwVYr*z-odx zO4i#2TEuglFY&m{GJq5o_ibRIq$V0K10I<a7q}fNzi2?l`urYgnysaFKM~X#YtxtaLbFS1||t z2P`m+WJr|@T#7J}X2q6>HPEqFlt3sg>;hyn3`Ld`9Ah(0rg%ri@vyKr@uA^s(a4Ar zr7JUUyghosepsNuMKgUaUy)<@Re(hz!zBk^uN&H48>=&S*2{P_*n=U#ie+~rqyIpy zTmmHmn|2%N^_oQ2$NWY^zyAD;I=@L53iWo=c6dc2k{{4F>#9s)w0E)K04NAUU&vSM zR1_m2NY?f4m#RezAPd+RbQz5wPHe~`pGRRRG0KOWa}66H9l+m$?QVDZQgG{}Iuh-V Fe*ydk8v6hM From 79d729a70e80493d351f3b3fa7cf01093483121b Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Tue, 19 May 2026 17:26:41 -0300 Subject: [PATCH 13/18] chore: commit updated help files and manifest for pipeline validation --- PowerShell/JumpCloud Module/Docs/JumpCloud.md | 2 +- .../Docs/Set-JCSettingsFile.md | 4 ++-- PowerShell/JumpCloud Module/JumpCloud.psd1 | Bin 14904 -> 7401 bytes 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PowerShell/JumpCloud Module/Docs/JumpCloud.md b/PowerShell/JumpCloud Module/Docs/JumpCloud.md index 05ac448d8..c6a56ac51 100644 --- a/PowerShell/JumpCloud Module/Docs/JumpCloud.md +++ b/PowerShell/JumpCloud Module/Docs/JumpCloud.md @@ -2,7 +2,7 @@ Module Name: JumpCloud Module Guid: 31c023d1-a901-48c4-90a3-082f91b31646 Download Help Link: https://github.com/TheJumpCloud/support/wiki -Help Version: 3.1.0 +Help Version: 3.1.1 Locale: en-Us --- diff --git a/PowerShell/JumpCloud Module/Docs/Set-JCSettingsFile.md b/PowerShell/JumpCloud Module/Docs/Set-JCSettingsFile.md index 10b2e54cc..eae150613 100644 --- a/PowerShell/JumpCloud Module/Docs/Set-JCSettingsFile.md +++ b/PowerShell/JumpCloud Module/Docs/Set-JCSettingsFile.md @@ -14,8 +14,8 @@ Updates the JumpCloud Module Settings File ## SYNTAX ``` -Set-JCSettingsFile [-JCEnvironmentLocation ] - [-parallelOverride ] [-moduleBannerMessageCount ] [] +Set-JCSettingsFile [-moduleBannerMessageCount ] + [-JCEnvironmentLocation ] [-parallelOverride ] [] ``` ## DESCRIPTION diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index a14359a7b7dfade0cc3a9a8674528527f5c8dc05..b66bf6becdc3cab59d77257541c8cbe4bbc9764d 100644 GIT binary patch literal 7401 zcmd5>U2oes7Jc`xAdtnnUDS4*X0mO8V#i}Aoy;U@5U0hy(h_ZRDv26WO6pn6f8TRS ziu$nCqzmj~^Uy-%<>BG|B(IMKN9c)n@lxaRsR2dHkM-crW zGNE}PVz%17V_}jlRZ&D7c>*n^G-Zfzw5h}Yxk*sWZad9E}a`gVC9OM6ZL&Q+T8Laq`~53~2|#}_YY zyUPVD4VDy&m6`m#6v>XsSY(A<@0vRgK74{G?Kh2%PhQ8<5r2C;9i6_3PDgK#`Rmc~ zo0Ik1>FV|L?DWhYWL6eisHlB_fgf$2z1J!h#?sGr3{Vdui}w+|zzt6Y@e9WGtMi?f zn{B~N0h^>anDrZH6|2+1Tvaky{vvu=`^%Wkl7!jyhG}7heh~540xyKI&OoNJM-*&b zW)Uf!C$iYFT&o8tl02}b$L2!pcdH(SUTy{Usn#1Z2E3ea;7v6dwvZbBs`PHe&4`bd zU?U@8*<8y^rez8ZIp^_=8sH+^$V}i6zn6g7V^vEwTb8=#ci&IJ)l9VVEBH3ZDa31 zqH#h7t9~g|&V-9Qrm|!=MtCh$aU+Vb-7}aLTfrigrtqtTXPc6|K$nO|xc7_s)!obg zHsyJuyEJdLiUjhSX1q$9r3RfFm5EpEpKs1yu~{0Qo%V8rCIUvtyaa&=a3-^%2+!Yg zp)GWh20yap!_xT*>KAFiyB-ax2 z&|+P;Ck`nn1$w%%Fx3vhIv2hm*n}>=k~6clR%z2gU)gN3qWerPG_EvA{1JjGRxDEm z)n@i6lQ`l!HjHO+H4%$MASY2!pr+~FD=W$~Cej?$hilDI$m#Nc42DkuxORncgvNuw z@?M=gjtI(G9FKmP!{zK<21O12?gvqC!7;w)dLxQ@_=72tB(LG>aI^yfq$v?&z#x?0R{7fjmB6em+Djh*{m%g2T(~L46S& z%xY|b)TefIr8$IoBOcr9+(5mk^3?vt3qj9?PkD?uZb%Ouk|W(1-*W~hhokR_dI;z4 zq$nrah@*a1U3Ya$Yj<_u&JQXpdVFu@9-_gfMCeYW>VY)hsc2!mw(=faSEi2g?o59^ z4U(NISrgkYjQvDvMF-p`bbUy!Ve6X4b8}4q?Ak9(IFq%M-?n1^`5JN|@zxaGtT%o= z+~*B}&|!xNqhY5#UQ4tc;5xV57(5wc*x%iImbSj{*JeN7Uz?pkxAM8s+P2N_%JUC! zqdP{!`r#NuxBj^XZA#b0!;RwK0(W?Gf%`rg)Q{Sne<-q>^A+>fqRMzqu+MV!YzHLR z>}oN)B|=`bE%KIbjAbEuyLXH z-M-IUOO8(9x5y8IP-Fe@Z}yo!OC&enT>U?N&!8LArZXORhE3|OgfufhS#hzPqmyD( zsnOb?r)$pxjYLg^pm&lDV6W3FiMJbGj(B2+hh&b|1R6In-fp1Uauxkg&%^I~&HBbyiq|7gj6y3aD>&Z298Ki~p>Mg_ z7UV=yFLY)6MyV*c!+X6)15Ri$OTi$n%O^rJ+RXOO>g0-v;`rq{M8a`SF7*}y-_ z)ff%G2@Vw4OpNR0PgZDnO;V26uAbC-oLpVb&u^CJ{d7{Y*`rw5#%17yp7d{c%hqZ@ zUxx<1lhmX9A`fqk{)2?aAh6ImHMq-mT0iy9mk{f0%i+RYo9Wmo1@5EC`+#EgQ%+9b zp8WmvZ2AxL{^a=huMh7}TO{t#5kWS%Q3c}Jc5>*47Z-KTWDLEuhD_TGW2q*;MWg)D zY)9IOp#dXIYmZy%2U`gIo}lS)JsVNKGl*iN7Rp7!(WFGjGK*zIVT)cF^=X>n>ig>G z*nNfnN7A-}(0`30kr&h=vYsY0yxo#yQrcVn#PA0Z94>SYz30v9rSI8a)`)J=^yc%g z@G<;$!D5l)!UL^`Y}R|mYR$FPG9Dv#VMMJ?pV~Z5scK}vZ{B#r>#3pyD|HS q6r=I;jx|}_#wZOrhJOV*)vyuV0r>VO0VnNW9B!Pb!$tla4E_z!Y%a_I literal 14904 zcmeI3OK)4p6~|{?px=RjfXXRq$+BIyE?_i@Bs)qh$B=BdTUnxQITFc|l>8|2VFND$ zFS07S>7wobH-|?v_ue6SNvWH*5Gay!XXd>A=P?id>z^y(m*E#-C3M1GI1IgT5?+OF z7=>}@tL<2yJK-$+O`p!gX>1#)-%zhk{8oLo8op7#voHu-vG=*gtxhO7okyCJ@yC*2?y$Psu{=Pt1s?G>bI%>N8ycH#+vC!|2yHCJ{^j#(I`{u>N#{a!u_xw zZiV0K|82eB4)?NgjQukFHMaOXQ2dLyI0+Y#=aN>eZ6tn%>Nkj7^);rhy_b603qQtQ zX!uYvjWp|#+Fd8;)@)$fuiIrUa<{KhebL#|f3ps~ALv!G!kTy*Ndp@bd$?>*!avlC zMa^BUJGe1TyBOu+a_WdC)Bm>qUA8$(WhH#yDg6HtH(>VYzVJ+^{Q%fQ&jO;I7SXUxbC}fWBuMtdQL;j;+|LK zCfTVMK8PdZ3taWYoqg*|rjEG8lkw{_wL6aCv^vKVX#<=(s+!TF%E4}o7Gvq-Jp7a) z8SR{?wX6T=3(AL=x;vckl29>Slkhi?bol#gNkJSkecq4_ztFcPk85h(6hcn*p2oog z9F6oEM(;b8zf|Sfj?XQ+BzZvaD{z$qs!}n@i3`<0fooIVJdZ0Nz%PWW&R+W%# z%+o&W`Gu+rividhjzAH4%|?^e&>pX@eBr`w# zmNv}NmI=TObtcxd`p2@s4cQQlcEfL^u|KQYxEDWdN{h#_)}Vb?d5gMZajiODo>u5X zo4UGM$-{BV@l~|!WvdW!3)rVG(p~6fRU=uV6A@t1VJvhIKN*p-I-Y?~QjI6ycrCx_ ztBoAWbMqNSTHXX#Y1Wj5r{~dq&2B!5T*sAKoq4@VEm!OZ^1W~6am~zV)s5F3BV`V3 zgr++)|7O#9q1y7gX1cAJsY@1R$UvHUPA>!ot`k+)A$k=E$8DM;MDqq?5j$j;`c$!S+-UkDO2^e zlFB1QLT5YKiMx0Qk=o^cFWyh1^kf^WZ_QK7wx#|jW_h+^)Z$*ZqEXLOKMo?st}a35e zw1%b@d#XN`S*bHlr4P%bWFjz5mLRLpPF(Iy)}QPP5G9BKtp0j2u0f4f?*%`$ivXv* zEJHyN?%?40WG437=)r&1x+meIzOnQ0QJ-DXG&dZbPu5Db8katct>8Sb`Dmg}Q%4p@ zOt-AqdS^j}djLqs`s|tBhjA4-p5&=& z??=)KyL41PdwP*+s0Z5Tw4C;L!mgpWt6i6S+AnO*S*5=({-~$1GudSzYIu9p$IpT0GDMzfPl-s)4%s}O@==DGW%c2sXVd;lIylm50p85o-$k2Q?D(jsb$esu zUc@3e@-e+wBY@EM+F~YlWZIyNU1+C<)z4(N-X*H4PxBqxD)((Fu6(XsJC67KdD=B^ z)_mpu#A^4C_L{2F%;x~Nc+sh}GoND9BNx?(Ssy=RB}c7?pIZz)jc8$qms0@N*dK~K z?Zk*i%~0YvJ%tvz!22!AYeIgB&ODswI&Vs}C@=X8v-v9bY{rf2;h=82lBUWW)kj`0 zhx2fq^OU2yuG_0!pis`uN|`M}e-3rYVieS5Kh)|&G< zzoX)uaL`lE>8sA^&f&D)kKI)2!oG6ZnLaO;jadD>n@KV6QKD6kvWAE@*s9Nb5i@dE z-ae4;o1d3wUyZxO&Udcua{ooSG3(Etx5`Hz@!c!&Hg37Ze#U%Gx5A$z0MnxXXW;qYR)=)^|=~XgjKDz zSz#`xl^nZ{?Iy>0uez15PB+b1_VSWOazBCJtFNG&Qs*>EwNG``*QHXsx*6Mc7dK^8D9k*1s(m&M} zWMOWoO55uL&J?VP9HJ2}+ zop!q!q-IduPsB*)K~r%6mHIOZ}?P7PX#_PL`WR zBlUVL2)4w{L56=%~|&}kFOS|)1F?_uU2YKerMj>zB)W&T+}I@|kSIt$>0BIzmDQu8FBuk#4BTh(m&6rgz@^MxWdrxriPTGH+T zrgI0X%qGRz=QHr)vmVBiW-7umKda%_!hVhq?&fiBG7|3pkB@0*MIgfU)D9h0y-u@6 zzRH<)MwDBNoMUHc+;YNR+saQ{SN3aYti;(k&xZ>0vpa3KXUhCH(fwFhB5r_a&Iav1 zq@SD`$N9;rodmMC!5IoCq?{*NKfaqclp>LHoJUrtKJ6UepU>hB?@Tw};g1Y!r;|Tl z^45zQ8b=9pd7LZH#!hh>N86da+*YzX)UJVaZp|mV!^GKSYUl1jPM_E@((~&*iRS#3 zH6y2spQB9%vJLjdKG?}_FTk6htYS&dB014;EO3fG(#|R8$=vi|2Zg6@X?BMU0SN_m zzL@U%TEw)o^{V9Onmdg{2lnd?D!uyMU5nt{{xFSW$;6M{fJwiI@Eb-|uBY|#-Yb#} ztx=s3Gg#T#9eehUtj+Az#1R_biMq3XZ)4St1vtZYjpD1^-l9@8O`6Z;dSSfTi5o>! zh{$a8u^T*rX48oC?(d0zq%Ga0@@fX{9m=Zy-S0d5_jJzZEu}Sx$2zC)?<=DIT+$=? zbH%5}dQV9;iN`r|${clghx z`Lzjl*JWu=1YGJQ?YhQsGK|MyrFD(6J9q0*9^-MS_7YClCF!o>`;PV#`Rz!`-L4sb zpRFO{gx#4XCR?Pj8}w+AyMMX9c-{|hCC^yzWsTuG)`v6f|E$K|N#oz^wXF2Sq>k># zTckn*L&=7eV8nK$?Y;$iS_C({lR0P0f2dl|VjU+${4yxV5OE8yOmUQGnviuaY~0mv zVQz=t#b3c}ggxPVu@8kE~c>9%@Lu|w^K;x+?$q(WLe3MnNB=M8VqHTupsIuHVr5xci z!WHpoH*y8CzK&82;&}-K9EZe`~uVR`k}5vFokEN&s; cc9f6bJaNZkOLC Date: Tue, 19 May 2026 17:48:54 -0300 Subject: [PATCH 14/18] chore: align manifest and changelog release dates to today --- PowerShell/JumpCloud Module/JumpCloud.psd1 | 80 +++++++++++----------- PowerShell/ModuleChangelog.md | 2 +- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index b66bf6bec..05a5ce6f3 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: 19/05/2026 +# Generated on: 05/19/2026 # @{ @@ -51,8 +51,8 @@ PowerShellVersion = '4.0' # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module -RequiredModules = @('JumpCloud.SDK.DirectoryInsights', - 'JumpCloud.SDK.V1', +RequiredModules = @('JumpCloud.SDK.DirectoryInsights', + 'JumpCloud.SDK.V1', 'JumpCloud.SDK.V2') # Assemblies that must be loaded prior to importing this module @@ -71,43 +71,43 @@ RequiredModules = @('JumpCloud.SDK.DirectoryInsights', # NestedModules = @() # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. -FunctionsToExport = 'Add-JCAssociation', 'Add-JCCommandTarget', 'Add-JCGsuiteMember', - 'Add-JCOffice365Member', 'Add-JCRadiusReplyAttribute', - 'Add-JCSystemGroupMember', 'Add-JCSystemUser', - 'Add-JCUserGroupMember', 'Backup-JCOrganization', 'Connect-JCOnline', - 'Copy-JCAssociation', 'Get-JCAdmin', 'Get-JCAssociation', - 'Get-JCBackup', 'Get-JCCloudDirectory', 'Get-JCCommand', - 'Get-JCCommandResult', 'Get-JCCommandTarget', - 'Get-JCConfiguredTemplatePolicy', 'Get-JCEvent', 'Get-JCEventCount', - 'Get-JCGroup', 'Get-JCOrganization', 'Get-JCPolicy', - 'Get-JCPolicyGroup', 'Get-JCPolicyGroupMember', - 'Get-JCPolicyGroupTemplate', 'Get-JCPolicyGroupTemplateMember', - 'Get-JCPolicyResult', 'Get-JCPolicyTargetGroup', - 'Get-JCPolicyTargetSystem', 'Get-JCRadiusReplyAttribute', - 'Get-JCRadiusServer', 'Get-JCReport', 'Get-JCScheduledUserstate', - 'Get-JCSystem', 'Get-JCSystemApp', 'Get-JCSystemGroup', - 'Get-JCSystemGroupMember', 'Get-JCSystemInsights', 'Get-JCSystemKB', - 'Get-JCSystemUser', 'Get-JCUser', 'Get-JCUserGroup', - 'Get-JCUserGroupMember', 'Import-JCCommand', 'Import-JCMSPFromCSV', - 'Import-JCUsersFromCSV', 'Invoke-JCCommand', 'Invoke-JCDeployment', - 'New-JCCommand', 'New-JCDeploymentTemplate', - 'New-JCDeviceUpdateTemplate', 'New-JCImportTemplate', - 'New-JCMSPImportTemplate', 'New-JCPolicy', 'New-JCPolicyGroup', - 'New-JCRadiusServer', 'New-JCReport', 'New-JCSystemGroup', 'New-JCUser', - 'New-JCUserGroup', 'Remove-JCAssociation', 'Remove-JCCommand', - 'Remove-JCCommandResult', 'Remove-JCCommandTarget', - 'Remove-JCGsuiteMember', 'Remove-JCOffice365Member', - 'Remove-JCPolicy', 'Remove-JCPolicyGroup', - 'Remove-JCPolicyGroupTemplate', 'Remove-JCRadiusReplyAttribute', - 'Remove-JCRadiusServer', 'Remove-JCSystem', 'Remove-JCSystemGroup', - 'Remove-JCSystemGroupMember', 'Remove-JCSystemUser', 'Remove-JCUser', - 'Remove-JCUserGroup', 'Remove-JCUserGroupMember', - 'Send-JCPasswordReset', 'Set-JCCloudDirectory', 'Set-JCCommand', - 'Set-JCOrganization', 'Set-JCPolicy', 'Set-JCPolicyGroup', - 'Set-JCPolicyGroupMember', 'Set-JCRadiusReplyAttribute', - 'Set-JCRadiusServer', 'Set-JCSettingsFile', 'Set-JCSystem', - 'Set-JCSystemGroup', 'Set-JCSystemUser', 'Set-JCUser', - 'Set-JCUserGroup', 'Set-JCUserGroupLDAP', 'Update-JCDeviceFromCSV', +FunctionsToExport = 'Add-JCAssociation', 'Add-JCCommandTarget', 'Add-JCGsuiteMember', + 'Add-JCOffice365Member', 'Add-JCRadiusReplyAttribute', + 'Add-JCSystemGroupMember', 'Add-JCSystemUser', + 'Add-JCUserGroupMember', 'Backup-JCOrganization', 'Connect-JCOnline', + 'Copy-JCAssociation', 'Get-JCAdmin', 'Get-JCAssociation', + 'Get-JCBackup', 'Get-JCCloudDirectory', 'Get-JCCommand', + 'Get-JCCommandResult', 'Get-JCCommandTarget', + 'Get-JCConfiguredTemplatePolicy', 'Get-JCEvent', 'Get-JCEventCount', + 'Get-JCGroup', 'Get-JCOrganization', 'Get-JCPolicy', + 'Get-JCPolicyGroup', 'Get-JCPolicyGroupMember', + 'Get-JCPolicyGroupTemplate', 'Get-JCPolicyGroupTemplateMember', + 'Get-JCPolicyResult', 'Get-JCPolicyTargetGroup', + 'Get-JCPolicyTargetSystem', 'Get-JCRadiusReplyAttribute', + 'Get-JCRadiusServer', 'Get-JCReport', 'Get-JCScheduledUserstate', + 'Get-JCSystem', 'Get-JCSystemApp', 'Get-JCSystemGroup', + 'Get-JCSystemGroupMember', 'Get-JCSystemInsights', 'Get-JCSystemKB', + 'Get-JCSystemUser', 'Get-JCUser', 'Get-JCUserGroup', + 'Get-JCUserGroupMember', 'Import-JCCommand', 'Import-JCMSPFromCSV', + 'Import-JCUsersFromCSV', 'Invoke-JCCommand', 'Invoke-JCDeployment', + 'New-JCCommand', 'New-JCDeploymentTemplate', + 'New-JCDeviceUpdateTemplate', 'New-JCImportTemplate', + 'New-JCMSPImportTemplate', 'New-JCPolicy', 'New-JCPolicyGroup', + 'New-JCRadiusServer', 'New-JCReport', 'New-JCSystemGroup', 'New-JCUser', + 'New-JCUserGroup', 'Remove-JCAssociation', 'Remove-JCCommand', + 'Remove-JCCommandResult', 'Remove-JCCommandTarget', + 'Remove-JCGsuiteMember', 'Remove-JCOffice365Member', + 'Remove-JCPolicy', 'Remove-JCPolicyGroup', + 'Remove-JCPolicyGroupTemplate', 'Remove-JCRadiusReplyAttribute', + 'Remove-JCRadiusServer', 'Remove-JCSystem', 'Remove-JCSystemGroup', + 'Remove-JCSystemGroupMember', 'Remove-JCSystemUser', 'Remove-JCUser', + 'Remove-JCUserGroup', 'Remove-JCUserGroupMember', + 'Send-JCPasswordReset', 'Set-JCCloudDirectory', 'Set-JCCommand', + 'Set-JCOrganization', 'Set-JCPolicy', 'Set-JCPolicyGroup', + 'Set-JCPolicyGroupMember', 'Set-JCRadiusReplyAttribute', + 'Set-JCRadiusServer', 'Set-JCSettingsFile', 'Set-JCSystem', + 'Set-JCSystemGroup', 'Set-JCSystemUser', 'Set-JCUser', + 'Set-JCUserGroup', 'Set-JCUserGroupLDAP', 'Update-JCDeviceFromCSV', 'Update-JCModule', 'Update-JCMSPFromCSV', 'Update-JCUsersFromCSV' # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 3d26b1987..96fe953ca 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: May 15, 2026 +Release Date: May 19, 2026 ### RELEASE NOTES From 3cad7fd47c1ba3d6c791b263fd3a584022789029 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Wed, 20 May 2026 16:42:40 -0300 Subject: [PATCH 15/18] fix: remove all ai generated comments and formatting headers --- PowerShell/Deploy/Build-Module.ps1 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/PowerShell/Deploy/Build-Module.ps1 b/PowerShell/Deploy/Build-Module.ps1 index a16b7baff..f75ab8d17 100755 --- a/PowerShell/Deploy/Build-Module.ps1 +++ b/PowerShell/Deploy/Build-Module.ps1 @@ -77,16 +77,12 @@ $BuildHelpPath = Join-Path -Path $PSScriptRoot -ChildPath "Build-HelpFiles.ps1" if (Test-Path $BuildHelpPath) { $ModuleFolder = Split-Path -Parent $FilePath_psd1 - # 1. Take a screenshot of where the terminal is now so you don't break the rest of the script. $PreviousLocation = Get-Location - # 2. Navigate PowerShell 5.1 to the Docs folder so it can find the about_JumpCloud.md file. Set-Location -Path (Join-Path -Path $ModuleFolder -ChildPath "Docs") - # 3. It runs the help script normally, just as it was doing before. & $BuildHelpPath -ModuleName $ModuleName -ModulePath $ModuleFolder - # 4. Return the terminal to exactly where it was before. Set-Location -Path $PreviousLocation } else { Write-Warning "Build-HelpFiles script not found at $BuildHelpPath" @@ -102,4 +98,3 @@ if (Test-Path $BuildTestsPath) { Write-Warning "Build-PesterTestFiles script not found at $BuildTestsPath" } -# EndRegion Orchestrating Required Build Functions \ No newline at end of file From fe6a33d22a4870c438c5e9aa3f1ea8ab391c7cf2 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Wed, 20 May 2026 17:02:40 -0300 Subject: [PATCH 16/18] fix: remove ai comments and synchronize release dates to today --- PowerShell/Deploy/Build-Module.ps1 | 4 ---- PowerShell/JumpCloud Module/JumpCloud.psd1 | 2 +- PowerShell/ModuleChangelog.md | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/PowerShell/Deploy/Build-Module.ps1 b/PowerShell/Deploy/Build-Module.ps1 index f75ab8d17..f4031cb45 100755 --- a/PowerShell/Deploy/Build-Module.ps1 +++ b/PowerShell/Deploy/Build-Module.ps1 @@ -54,10 +54,6 @@ if (!(($ModuleChangelog | Select-Object -First 1) -match $ModuleVersion)) { } # EndRegion Updating module change log -# ==================================================================== -# Region: Orchestrating Required Build Functions (Joe's Feedback) -# ==================================================================== - # Security guarantee: if the parameter is empty, the default is set. if (-not $ModuleName) { $ModuleName = "JumpCloud" diff --git a/PowerShell/JumpCloud Module/JumpCloud.psd1 b/PowerShell/JumpCloud Module/JumpCloud.psd1 index 05a5ce6f3..4b2fa8fc8 100644 --- a/PowerShell/JumpCloud Module/JumpCloud.psd1 +++ b/PowerShell/JumpCloud Module/JumpCloud.psd1 @@ -3,7 +3,7 @@ # # Generated by: JumpCloud Solutions Architect Team # -# Generated on: 05/19/2026 +# Generated on: 05/20/2026 # @{ diff --git a/PowerShell/ModuleChangelog.md b/PowerShell/ModuleChangelog.md index 96fe953ca..a31c2acd0 100644 --- a/PowerShell/ModuleChangelog.md +++ b/PowerShell/ModuleChangelog.md @@ -1,6 +1,6 @@ ## 3.1.1 -Release Date: May 19, 2026 +Release Date: May 20, 2026 ### RELEASE NOTES From 2de69981e3e66ee2740ef6f5f665cd68becd8123 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Wed, 20 May 2026 17:31:28 -0300 Subject: [PATCH 17/18] style: enforce OTBS brace formatting and clean up residual comments --- PowerShell/Deploy/Build-Module.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PowerShell/Deploy/Build-Module.ps1 b/PowerShell/Deploy/Build-Module.ps1 index f4031cb45..c0441c2a5 100755 --- a/PowerShell/Deploy/Build-Module.ps1 +++ b/PowerShell/Deploy/Build-Module.ps1 @@ -89,8 +89,7 @@ $BuildTestsPath = Join-Path -Path $PSScriptRoot -ChildPath "Build-PesterTestFile if (Test-Path $BuildTestsPath) { # Called without any parameters, as it discovers the paths on its own. & $BuildTestsPath -} - else { +} else { Write-Warning "Build-PesterTestFiles script not found at $BuildTestsPath" } From afc94a07da7ed8552d102e04e8bd6f1ca165d699 Mon Sep 17 00:00:00 2001 From: Junior Almeida Date: Wed, 20 May 2026 17:47:32 -0300 Subject: [PATCH 18/18] fix: clear redundant null check flag by bugbot --- PowerShell/Deploy/Build-Module.ps1 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/PowerShell/Deploy/Build-Module.ps1 b/PowerShell/Deploy/Build-Module.ps1 index c0441c2a5..207877c8f 100755 --- a/PowerShell/Deploy/Build-Module.ps1 +++ b/PowerShell/Deploy/Build-Module.ps1 @@ -54,11 +54,6 @@ if (!(($ModuleChangelog | Select-Object -First 1) -match $ModuleVersion)) { } # EndRegion Updating module change log -# Security guarantee: if the parameter is empty, the default is set. -if (-not $ModuleName) { - $ModuleName = "JumpCloud" -} - Write-Host ('[status] Running synchronized SDK endpoints sync...') $SdkSyncPath = Join-Path -Path $PSScriptRoot -ChildPath "SdkSync" $SdkScriptPath = Join-Path -Path $SdkSyncPath -ChildPath "jcapiToSupportSync.ps1"