Please note that backwards compatibility breaks are prefixed with {"BC"}
(short for Breaking Change).
- Fix for systems where IE First-Run is not complete by using the
-UseBasicParsing
switch forInvoke-WebRequest
.
- Fix broken
Set-NinjaOneDeviceMaintenance
commandlet where the API resource path was not set.
- Fix incorrect parameter type for
-organisationDocument
and-organisationDocuments
parameters on theNew-NinjaOneOrganisationDocument
andNew-NinjaOneOrganisationDocuments
commandlets.
- Remove debugging statements forcing
Write-Information
output to always display.
- No changes from 2.0.0-RC6
- Fix double declaration of
Get-NinjaOneOrganisationInformation
(once as an alias and once as a new wrapper commandlet!) - Fix incorrect output type on
New-NinjaOneCustomFieldsObject
. - Fix incorrect output type on
New-NinjaOneDocumentTemplateObject
. - Fix incorrect parameter alias on
policyId
param for Windows Event and Custom Field commandlets. - Fix incorrect parameter alias on
deviceId
param for Integrity Check Job commandlet.
- Add new commandlets:
Get-NinjaOneAutomations
Get-NinjaOneNotificationChannels
Get-NinjaOneCustomFieldsPolicyConditions
Get-NinjaOneCustomFieldsPolicyCondition
Get-NinjaOneWindowsEventConditions
Get-NinjaOneWindowsEventCondition
Get-NinjaOneTicketingUsers
Get-NinjaOneKnowledgeBaseArticle
Get-NinjaOneOrganisationKnowledgeBaseArticles
Get-NinjaOneGlobalKnowledgeBaseArticles
Get-NinjaOneKnowledgeBaseFolders
Get-NinjaOneRelatedItemAttachment
Get-NinjaOneRelatedItemAttachmentSignedURLs
Get-NinjaOneCustomFieldSignedURLs
Get-NinjaOneIntegrityCheckJobs
New-NinjaOneCustomFieldsPolicyCondition
New-NinjaOneWindowsEventPolicyCondition
New-NinjaOneAttachmentRelation
New-NinjaOneEntityRelation
New-NinjaOneEntityRelations
New-NinjaOneSecureRelation
New-NinjaOneIntegrityCheckJob
Remove-NinjaOneRelatedItem
Remove-NinjaOneRelatedItems
Remove-NinjaOneOrganisationDocument
Remove-NinjaOnePolicyCondition
- Remove deprecated commandlet:
Get-NinjaOneAttachment
- Fix bug in
Set-NinjaOneOrganisationDocument
. - Fix auth endpoints in
Connect-NinjaOne
to use thews/oauth
paths. - Apply a round of fixes to
Get-NinjaOneSecrets
. - Remove early exits for endpoints which don't support
client_credentials
authentication as NinjaOne has added a native descriptive error for this issue. - Add
of
/organisationFilter
parameter to theGet-NinjaOneOrganisations
commandlet. - Fix handling of
scopes
parameter onGet-NinjaOneDeviceCustomFields
. - Reformat all code to use tabs instead of spaces - largely driven by accessibility benefits of using tabs over spaces. I was, for many years, a "spaces > tabs" guy. Until I was pointed at this article by Alexander Sandberg. It managed to convince me that the accessibility benefits of tabs outweighed my attachment to spaces. Our workspace file uses whatever tab width you have set in VSCode you can change this using
editor.tabSize
in your settings. - Add many new aliases to try and stay as close to Ninja's "entity" naming as we can. For example,
Get-NinjaOneRoles
now has the aliasGet-NinjaOneDeviceRoles
. - Add many new wrapper commands to provide commandlets named consistently with Ninja's entity naming where we've combined endpoints into a single commandlet for expediency.
- Remove entity exists validation from all commandlets, we will no longer test if a device exists before you try to get it's disks. This reduces the volume of calls we make and you will now see Ninja's 404 response being returned when the given device does not exist. This has been done to drastically reduce the number of API calls we were making.
- Reorganise source folder to match Ninja's API groupings.
- Remove the
-usageLimit
parameter fromNew-NinjaOneInstaller
.
- Change secret vault to use the SecretManagement module.
- Fix broken ticket commandlet.
- Remove Client Credentials block on Ticketing GET endpoints (thanks Ninja team and Luke Whitelock!)
- Fix device search commandlet.
- Test suite improvements.
- Fix broken class preventing correct commandlet functionality.
- Start implementing native secret vault support. Present but not entirely functional
- Move classes to C# code and compile to DLLs for better portability and reliability.
- Add new commandlets:
Get-NinjaOneBackupJobs.ps1
Get-NinjaOneDeviceNetworkInterfaces.ps1
Get-NinjaOneDocumentTemplates
Get-NinjaOneNetworkInterfaces
New-NinjaOneDocumentTemplate
New-NinjaOneOrganisationDocument
Remove-NinjaOneDocumentTemplate
Set-NinjaOneDocumentTemplate
Set-NinjaOneOrganisationDocuments
- Fix token refresh for
authorization_code
flows. Make sure you request theoffline_access
scope. - New automated tests
- New automated documentation building
- New build system - we now compile to a single PSM1 file and PSD1 file for better handling of our bundled classes.
- Add short aliases to all commandlets.
- Rewrite
Set-NinjaOneNodeRolePolicyAssignment
asSet-NinjaOneOrganisationPolicies
and allow multiple role/policy assignments at a time. - Refactor all commandlets to use the "advanced function" template for iterative pipeline support.
- Fix the
-userType
parameter onGet-NinjaOneUsers
.
- Fix broken document existence check in
Set-NinjaOneOrganisationDocument
.
- Add new
-Scripts
and-Categories
parameters toGet-NinjaOneDeviceScriptingOptions
to allow automatic expansion of the results. - Rewrite
Invoke-NinjaOneDeviceScript
with better error handling and dependency checking. - Introduce new automated tests for comment-based-help elements.
- Fix help links, commandlet names and short names (for documentation).
- Fix functions not being re-added to exports after name changes.
- {"BC"} Refactoring of error handling to allow PowerShell 5.1 compatibility.
- {"BC"} Removal / change of the
id
alias on some parameters. - {"BC"} Each commandlet now supports pipelining of the "primary" id value. Commandlets which require more than one
id
parameter do not support pipelining except by property name. - {"BC"} Rename most
Update-*
commandlets toSet-*
. Aliases are in place. - {"BC"} Removal of all
*-NinjaRMM*
aliases to their*-NinjaOne*
commandlets. - {"BC"} All
Write-Debug
statements are nowWrite-Verbose
. - Add
-expandActivities
parameter toGet-NinjaOneActivities
. - Add
-expandOverrides
parameter toGet-NinjaOneDevicePolicyOverrides
. - Implement the framework for adding classes to build objects for
POST
endpoints. - All commandlets which require an entity to exist will throw an error if the entity with the given id doesn't exist.
- The base
Get-*
commands for the core entities now throw if no results are returned. - Refactor exception catches in Private utility commandlets.
- Reword error and verbose messaging throughout.
- Switch all string/variable interpolation to use the
-f
format string operator with single-quoted strings. - Add
us2
instance.
- Fix broken template policy id parameter handling in
New-NinjaOneOrganisation
.
- Add missing aliases for various other
*organisation*
parameters.
- Add alias for
Update-NinjaOneOrganization
.
- Fix broken start/end parameters on
Set-NinjaOneDeviceMaintenance
.
- Fix regression in the set device custom fields cmdlet.
- Add organizationId as an alias to all organisationId parameters.
- Fixes pipeline support for some cmdlets which were missing it or had it incorrectly implemented.
- Add new endpoints from NinjaOne's 5.4 release.
- Update existing endpoints which changed in 5.4.
- Refactored internals to separate out the parameters for
Invoke-NinjaOneRequest
. - Refactored request type helper functions to splat rather than pass in a hashtable to
Invoke-NinjaOneRequest
. - Improve examples for all commandlets.
- Fix all date/time parameters - previous change in 1.7.1 was not functional.
- Add
Get-NinjaOneLocationBackupUsage
commandlet. Gets the backup usage for a location. - Add
Get-NinjaOneBackupUsage
commandlet. Gets the backup usage broken down by device. - Add
Get-NinjaOnePolicyOverrides
commandlet. Gets the policy overrides broken down by device. - Add
New-NinjaOneInstaller
commandlet. Creates an advanced installer for a device with the ability to limit the number of uses for the installer. - Fix
Get-NinjaOneTickets
commandlet. Now uses the correct HTTP method for single ticket retrieval. - Add
Get-NinjaOneTicketAttributes
commandlet. Gets the attributes for tickets. - Fix
Get-NinjaOneTicketForms
commandlet. Now allows single ticket form retrieval.
- Commandlets whose endpoints do not support Client Credentials authentication now return an early error if the authentication mode in use is
client_credentials
. - Fixed incorrect parameter type and function name for
Get-NinjaOneAttachment
commandlet. - Fix incorrect variable expansion in
Get-NinjaOneAttachment
commandlet. - Fix incorrect parameter types for
Invoke-NinjaOneWindowsServiceAction
commandlet. - Fix incorrect resource path for
New-NinjaOneLocation
commandlet. - Fix incorrect variable expansion in
New-NinjaOneLocation
commandlet. - Add single ticket retrieval to
Get-NinjaOneTicket
commandlet.
- Simplify DateTime to Unix conversion.
- Complete rework of DateTime parameter handling to auto convert values to Unix Timestamps and add companion parameters for accepting Unix-y values.
- Fix New-NinjaOnePolicy and Reset-NinjaOneDevicePolicyOverrides exports.
- Fix New-NinjaOnePolicy parameter type for
-mode
to be[string]
instead of[int]
. - Expose Invoke-NinjaOneRequest as public cmdlet.
- Fix an extra closing
)
inUpdate-NinjaOneLocation
command.
- Fix bug in connection logic that hard coded scopes for all
client_credentials
connections.
- Fix multiple commandlets using incorrectly pluralised "Get-" commandlets.
- Fix multiple bugs with
Update-NinjaOneNodeRolePolicyAssignment
command.
- Fix an incorrect parameter type in
Update-NinjaOneDevice
command.
- Add
Update-NinjaOneOrganisationDocument
.
- Fix an issue affecting multiple
Get-*
commands where theResults
property was not being expanded correctly.
- Fix incorrect body variable naming.
- Fix an incorrect parameter type in
Update-NinjaOneOrganisation
command.
- Fix a bug in
Update-NinjaOneOrganisation
command.
- Add
Get-NinjaOneDevicePolicyOverrides
command.
- Fix return value for
Get-NinjaOneJobs
command. - Fix parameter not being removed from
Get-NinjaOneTicketLogEntries
command.
- Fix multiple parameters which were incorrectly set as mandatory
- Various bugfixes.
- Add CA instance.
- Adjust project scaffold - PowerShell Script Analyzer rules, VSCode setup.
- Replace OAuthListener with pure .NET classes and PowerShell implementation. Faster, easier and more maintainable.
- Testing .NET 6 fixes for OAuthListener
- Fix 200 status code being returned instead of $null result for empty GET request responses. Thanks to Dru and Gavsto!
- Fix another bug in results property handling. Thanks to TheBoWatts!
- Fix a bug in results property expansion. Thanks to DopeLemon!
- Add Policy commands.
- Fixes for interactive authentication.
- Add remaining Ticketing commands.
- Add more
Restart
,Set
andUpdate
commands. - Refactor request handling.
- Rename multiple commands to be more consistent with the API.
- Add Ticketing commands.
- Add
Reset-NinjaOneAlert
command. - Add
New-NinjaOneOrganization
command.
- Fixes a bug with getting devices for an organisation.
- Overhauls error handling.
- Adds pipeline support.
- Initial preview release of the NinjaRMM API PowerShell module.