PSConnectWise
PSConnectWise copied to clipboard
PowerShell Module that provide several CmdLets to interact with ConnectWise REST API service.
Looking for Someone to Take Ownership of this Project
PSConnectWise
Collection of PowerShell functions that interface with ConnectWise's REST API service. This project is meant to target the latest general releases of PowerShell (i.e. PS v5.0) and ConnectWise.
Functions
Goal of the version of v1.0 was to create the minimum required PowerShell functions that is needed to properly create, read, update, and delete a ConnectWise ticket. While doing so, develop a core that will easly allow for future functions to be added.
Service Module
Get-CWServiceTicketNew-CWServiceTicketUpdate-CWServiceTicketRemove-CWServiceTicketGet-CWServiceBoardGet-CWServiceBoardStatusGet-CWServiceBoardTypeGet-CWServiceBoardSubtypeGet-CWServicePriorityGet-CWServiceTicketNoteAdd-CWServiceTicketNote
Company Module
Get-CWCompanyGet-CWCompanyContact
TimeEntry Module
Get-CWTimeEntryAdd-CWTimeEntryUpdate-CWTimeEntryRemove-CWTimeEntry
System Module
Get-CWSystemMemberSet-CWSessionTest-CWSession
Requirements
- PowerShell 5.0
- ConnectWise Server v2015.3 or Newer
- CW Member's Public and Private API Key
- FQDN to the ConnectWise (API) Server
- On permise CW server and CW API server are the same.
- Cloud based CW server and CW API server are not the same.
Import Module to PS Session
- Download or Clone this Repository
- Open PowerShell
- Import the Module (.psm1) within the
PSConnectWiseDirectoryImport-Module "...\PSConnectWise\PSConnectWise\PSConnectWise.psm1" -Force;
- Functions are Imported and Ready to Use
Examples
Get ConnectWise Ticket
Execute
$CWSession = Set-CWSession -Domain 'TechInUrPocket.example.com' -CompanyName 'TechInUrPocket' -PublicKey '...' -PrivateKey '...';`
Get-CWServiceTicket -ID 1234567 -Session $CWSession; # Session parameter and value not required
Returns
id : 1234567
summary : My Computer is Broken
recordType : ServiceTicket
board : @{id=1; name=BreakFix; _info=}
status : @{id=1; name=New; _info=}
...
Contributing
See the Contributing Documentation
Extra Information
- This module (v1.0) is still under development.
- This means breaking changes can be introduced by future updates.
- Once the v1.0 module has be published to the PowerShell Gallery, versions and breaking changes will follow semantic versioning convention.
- Test Directory Stores the Unit Test Scripts for Pester.
- See Readme
- Documented Architecture of the Dependent PS Classes
- It is not required to read or understand it to use PowerShell function.
- Its target is future contributors to this project.
License
MIT