The module has one cmdlet for every devop-dk command. Each area page below lists the cmdlets with their CLI equivalent and shows realistic examples.
| Area | Cmdlets for |
|---|---|
| Customers | Customers, contacts, item receivers, groups, and customer transactions |
| Sales | Invoices, orders, quotes, recurring sales, their lines (including create), PDF, HTML, email, and sales people |
| Purchase | Vendors, vendor invoices, approvals, attachments, general-ledger accounts, journals, and tax groups |
| Products and platform | Products, prices, inventory, warehouses, webhooks, and API tokens |
| Projects and employees | Projects (including deleting one), phases, tasks, work requests, work entries, transactions, and employees |
| Company, tables, and session | Company information, generic tables (reads and writes), reference data, configuration, login, and connections |
Get, New, Update, Remove, Save, Send, Test, Sync, Invoke, Connect, Disconnect, and (for configuration only) Set.Get-Customer, Update-Order, and Remove-Quote, not Get-DkCustomer. Only the four session cmdlets keep DkPlus in the noun, because PowerShell already has Test-Connection: Connect-DkPlus, Disconnect-DkPlus, Get-DkPlusConnection, and Test-DkPlusConnection.Update-. devop-dk customer update is Update-Customer. Set-Config is the only Set- cmdlet.list, get, search, and page are parameter sets of one Get- cmdlet: Get-Customer lists, Get-Customer -Number 10001 gets one, and Get-Customer -Search acme searches. A list cmdlet also has an All parameter set (Get-Customer -All) that reads every record; see Impact and confirmation.New-. Inventory journals, transfers, and counts are New-InventoryJournal, New-InventoryTransfer, and New-InventoryCount; generic table records are New-TableRecord.Save-. Commands that write a PDF or an attachment to disk are Save-* cmdlets. HTML is returned as text by the Get-*Html cmdlets and can be saved with -Path. See Output and files.Get-CustomerTransaction, Get-VendorTransaction, Get-LedgerTransaction, and Get-ProjectTransaction. Sales documents own the bare nouns (Get-Invoice is the sales invoice, Get-VendorInvoice the vendor invoice).Parameter names follow the CLI option names in PascalCase (--page-size is -PageSize). Field parameters use the name of the request member, so -InputObject @{ Email = '...' } and -Email '...' use the same name.
If a name collides with another module, import with a prefix or qualify the call:
Import-Module DevOp.DK.Plus -Prefix Dk
Get-DkCustomer -Number 10001
DevOp.DK.Plus\Get-Customer -Number 10001
Every cmdlet has help with synopsis, parameter descriptions, and examples:
Get-Command -Module DevOp.DK.Plus -Verb Update
Get-Help Update-Order -Full
Get-Help Get-Quote -Examples
Get-Help Update-Customer -Parameter Email
The help is installed with the module. Tab completion lists parameter names and enum values such as -Status.
Cmdlets that change data support -WhatIf and -Confirm. The confirmation level matches the CLI: a cmdlet is High exactly when its CLI command needs --yes, and Medium for other writes. Reads do not prompt, with one deliberate exception: the -All parameter set of the list cmdlets (and Get-Project -Unpaged) reads every record, which can move a lot of data, so it asks like a High-impact cmdlet. Pass -Confirm:$false in scripts; -WhatIf and -Confirm have no effect on the other parameter sets of those cmdlets. The one other deliberate exception is New-Invoice: the CLI posts only with --post --yes, but the cmdlet posts by default (-Post is $true) at Medium impact, and -Post:$false creates an unposted invoice. See Safety and errors.
devop-dk command |
Use instead |
|---|---|
config columns list, show, select, set, reset |
Select-Object and Format-Table. The module's table views come from a format file, so column profiles do not apply. See Output and files. |
update |
Update-Module DevOp.DK.Plus (or Update-PSResource). The module is updated from the PowerShell Gallery, not by the tool installer. |
Connect-DkPlus, Disconnect-DkPlus, and Get-DkPlusConnection exist only in the module because the CLI resolves its connection for each command.