sgtoj / PSConnectWise

PowerShell Module that provide several CmdLets to interact with ConnectWise REST API service.
MIT License
45 stars 13 forks source link

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
  1. Get-CWServiceTicket
  2. New-CWServiceTicket
  3. Update-CWServiceTicket
  4. Remove-CWServiceTicket
  5. Get-CWServiceBoard
  6. Get-CWServiceBoardStatus
  7. Get-CWServiceBoardType
  8. Get-CWServiceBoardSubtype
  9. Get-CWServicePriority
  10. Get-CWServiceTicketNote
  11. Add-CWServiceTicketNote
Company Module
  1. Get-CWCompany
  2. Get-CWCompanyContact
TimeEntry Module
  1. Get-CWTimeEntry
  2. Add-CWTimeEntry
  3. Update-CWTimeEntry
  4. Remove-CWTimeEntry
System Module
  1. Get-CWSystemMember
  2. Set-CWSession
  3. Test-CWSession

Requirements

Import Module to PS Session

  1. Download or Clone this Repository
  2. Open PowerShell
  3. Import the Module (.psm1) within the PSConnectWise Directory
    • Import-Module "...\PSConnectWise\PSConnectWise\PSConnectWise.psm1" -Force;
  4. 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

License

MIT