A completely different ISC PowerShell Module

Hey gang!

I know there’s a whole PowerShell SDK and that the almighty @darrenjrobinson also has a (much more fleshed-out) PowerShell module, but I wanted to share mine here as well. I’ve been using/working on this for years, and it’s undergone a number of revisions as the API has matured, but it’s never made it to a public GitHub repo before now.

My module uses the Microsoft.PowerShell.SecretStore module to store the tenant/credential information, and basically just wraps my most-used API endpoints in PowerShell functions. It also uses a dynamic parameter for any function that cares about a Source input, allowing you to tab-complete your source names via a dynamically-generated list pulled every time you connect to the API.

Note that the function names are all in the singular rather than the plural, because that is the recommended nomenclature for PowerShell functions. The majority of the functions can still return a list of results where necessary.

Comment-based help has been implemented for all functions as well. Running Get-Help for specific functions should help understand what parameters are available and what they do.

Current functions include:

  • Connect-ISC - initialize the connection to the API for the specified tenant

  • Test-ISCConnection - check whether the current token is still valid

  • Get-ISCConnection - retrieve some details about the current session

  • Invoke-ISCQuery - run a specified query

  • Get-ISCIdentity - retrieve a specific identity, or a list of identities

  • Get-ISCAccount - retrieve a specific account, or a list of accounts

  • Get-ISCAccessProfile - retrieve a specific access profile, or a list of access profiles

  • Set-ISCAccessProfile - modify an existing access profile

  • Get-ISCConnectorRule - retrieve a specific connector rule, or a list of all connector rules

  • Get-ISCEntitlement - retrieve a specific entitlement, or a list of all entitlements

  • Set-ISCEntitlement - modify an existing entitlement

  • Get-ISCPendingTaskList - retrieve a list of pending tasks

  • Get-ISCTransform - retrieve a specific transform, or a list of all transforms

  • Get-ISCWorkflow - retrieve a specific workflow, or a list of all workflows matching the defined criteria

  • Get-ISCWorkflowExecutionList - retrieve a list of workflow executions for a specified workflow

  • Get-ISCWorkflowExecution - retrieve the details of a specific workflow execution

  • Set-ISCTaskCompleted - update a specified workflow execution to mark it as complete or errored

Please check it out and let me know what you think!