diff --git a/docs/ninjaone/automations/ssl-certificate-audit.md b/docs/ninjaone/automations/ssl-certificate-audit.md deleted file mode 100644 index 0f031a0f7e..0000000000 --- a/docs/ninjaone/automations/ssl-certificate-audit.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: '3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5' -slug: /3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5 -title: 'SSL Certificate Audit' -title_meta: 'SSL Certificate Audit' -keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] -description: 'This Script pulls any and all certificates in the personal certificate repository on windows machines that it is run on.' -tags: ['windows'] -draft: false -unlisted: false -last_update: - date: 2026-02-16 ---- - -## Overview -This Script pulls any and all certificates in the personal certificate repository on windows machines that it is run on. It then updates the custom field [cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) with the SSL details. - -## Sample Run - -`Play Button` > `Run Automation` > `Script` -![SampleRun1](../../../static/img/docs/b97b3d2c-ecc6-42ff-9236-36b14765c9b7/samplerun1.webp) - -![SampleRun2](../../../static/img/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5/image1.webp) - -## Dependencies -- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) -- [Custom field - cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) - -## Automation Setup/Import - -[Automation Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/scripts/ssl-certificate-audit.ps1) - -## Output - -- Activity Details -- Custom Field - -## Changelog - -### 2026-02-13 - -- Initial version of the document diff --git a/docs/ninjaone/automations/ssl-certificate-expiration-monitoring.md b/docs/ninjaone/automations/ssl-certificate-expiration-monitoring.md new file mode 100644 index 0000000000..33af71275c --- /dev/null +++ b/docs/ninjaone/automations/ssl-certificate-expiration-monitoring.md @@ -0,0 +1,48 @@ +--- +id: '4b6c5595-4336-4e14-a119-c6c7e2c31443' +slug: /4b6c5595-4336-4e14-a119-c6c7e2c31443 +title: 'SSL Certificate Expiration Monitoring' +title_meta: 'SSL Certificate Expiration Monitoring' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'Monitors the local machine certificate store for SSL certificates that are expiring soon or have already expired, and reports any that havent already been alerted on.' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Overview + +Monitors the local machine certificate store for SSL certificates that are expiring soon or have already expired, and reports any that haven't already been alerted on. + +## Sample Run + +`Play Button` > `Run Automation` > `Script` +![SampleRun1](../../../static/img/docs/b97b3d2c-ecc6-42ff-9236-36b14765c9b7/samplerun1.webp) +![SampleRun2](../../../static/img/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443/image1.webp) + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) + +## Parameters + +| Name | Example | Accepted Values | Required | Default | Type | Description | +| ---- | ------- | --------------- | -------- | ------- | ---- | ----------- | +| SSL Cert Expiry Threshold | 15 | Numeric Values | False | - | Text | Set the number of days before SSL certificate expiration to detect and report certificates requiring attention. | + + +## Automation Setup/Import + +[Automation Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/scripts/ssl-certificate-expiration-monitoring.ps1) + +## Output + +- Activity Details + +## Changelog + +### 2026-07-22 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/automations/windows-certificates-local-machine-audit.md b/docs/ninjaone/automations/windows-certificates-local-machine-audit.md new file mode 100644 index 0000000000..89645ffd8f --- /dev/null +++ b/docs/ninjaone/automations/windows-certificates-local-machine-audit.md @@ -0,0 +1,56 @@ +--- +id: '3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5' +slug: /3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5 +title: 'Windows - Certificates (My) - Local Machine - Audit' +title_meta: 'Windows - Certificates (My) - Local Machine - Audit' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'Audits all certificates in the local machines personal certificate store and flags expired or soon-to-expire certificates.' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Overview + +This Script audits all certificates in the local machine's personal certificate store and flags expired or soon-to-expire certificates. It then updates the custom field [cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) with the SSL certificate details and also sets the custom field [cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) to True if any expired or soon-to-expire certificates are found during the audit. + +## Sample Run + +`Play Button` > `Run Automation` > `Script` +![SampleRun1](../../../static/img/docs/b97b3d2c-ecc6-42ff-9236-36b14765c9b7/samplerun1.webp) +![SampleRun2](../../../static/img/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5/image1.webp) + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) +- [Custom field - cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) +- [cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) + +## Parameters + +| Name | Example | Accepted Values | Required | Default | Type | Description | +| ---- | ------- | --------------- | -------- | ------- | ---- | ----------- | +| SSL Cert Expiry Threshold | 15 | Numeric Values | False | - | Text | Set the number of days before SSL certificate expiration to detect and report certificates requiring attention. | + +**Note** : SSL Cert Expiry Threshold should be similar to [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) to alert for the certificates that are expired or soon to expire. + +## Automation Setup/Import + +[Automation Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/scripts/windows-certificates-local-machine-audit.ps1) + +## Output + +- Activity Details +- Custom Field + +## Changelog + +### 2026-07-22 + +- Renamed the script from `SSL Certificate Audit` to `Windows - Certificates (My) - Local Machine - Audit` since this script pulls all certificates and not just SSL certificates on the machine. + +### 2026-02-13 + +- Initial version of the document diff --git a/docs/ninjaone/compound-conditions/monitor-ssl-cert-expiration-servers.md b/docs/ninjaone/compound-conditions/monitor-ssl-cert-expiration-servers.md new file mode 100644 index 0000000000..7500dac770 --- /dev/null +++ b/docs/ninjaone/compound-conditions/monitor-ssl-cert-expiration-servers.md @@ -0,0 +1,37 @@ +--- +id: '79d5020a-7487-42ad-9dc3-1cfd7d675be5' +slug: /79d5020a-7487-42ad-9dc3-1cfd7d675be5 +title: 'Monitor SSL Cert Expiration - Servers' +title_meta: 'Monitor SSL Cert Expiration - Servers' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'Triggers the Script SSL Certificate Expiration Monitoring automation on Windows workstation' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Summary +Triggers the [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) automation on Windows Servers where alerting is enabled and [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) is Set to `True` by [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5). It creates tickets if [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) detects any expired or soon-to-expire certificate that haven't already been alerted on. + +## Details + +- **Name:** `Monitor SSL Cert Expiration - Servers` +- **Description:** Triggers the [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) automation on Windows Servers where alerting is enabled and [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) is Set to 'True' by [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5). It creates tickets if [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) detects any expired or soon-to-expire certificate that haven't already been alerted on. +- **Recommended Agent Policies:** `Windows Servers` + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) +- [Ticket Template : SSL Cert Expiration Alerts](/docs/1333942f-f022-4795-956b-ae86f815a636) + +## Compound Condition Creation + +- [Compound Condition Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/compound-conditions/monitor-ssl-cert-expiration-servers.toml) + +## Changelog + +### 2026-07-22 + +- Initial version of the document diff --git a/docs/ninjaone/compound-conditions/monitor-ssl-cert-expiration-workstations.md b/docs/ninjaone/compound-conditions/monitor-ssl-cert-expiration-workstations.md new file mode 100644 index 0000000000..725f27850c --- /dev/null +++ b/docs/ninjaone/compound-conditions/monitor-ssl-cert-expiration-workstations.md @@ -0,0 +1,37 @@ +--- +id: '8c096a91-90f6-4c25-a5dc-745598b19e11' +slug: /8c096a91-90f6-4c25-a5dc-745598b19e11 +title: 'Monitor SSL Cert Expiration - Workstations' +title_meta: 'Monitor SSL Cert Expiration - Workstations' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'Triggers the Script SSL Certificate Expiration Monitoring automation on Windows workstation' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Summary +Triggers the [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) automation on Windows workstations where alerting is enabled and [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) is Set to `True` by [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5). It creates tickets if [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) detects any expired or soon-to-expire certificate that haven't already been alerted on. + +## Details + +- **Name:** `Monitor SSL Cert Expiration - Workstations` +- **Description:** Triggers the [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) automation on Windows workstations where alerting is enabled and [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) is Set to 'True' by [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5). It creates tickets if [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) detects any expired or soon-to-expire certificate that haven't already been alerted on. +- **Recommended Agent Policies:** `Windows Workstations` + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) +- [Ticket Template : SSL Cert Expiration Alerts](/docs/1333942f-f022-4795-956b-ae86f815a636) + +## Compound Condition Creation + +- [Compound Condition Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/compound-conditions/monitor-ssl-cert-expiration-workstations.toml) + +## Changelog + +### 2026-07-22 + +- Initial version of the document diff --git a/docs/ninjaone/compound-conditions/ssl-audit-servers.md b/docs/ninjaone/compound-conditions/ssl-audit-servers.md index 50b40477f2..62bbb1e4a6 100644 --- a/docs/ninjaone/compound-conditions/ssl-audit-servers.md +++ b/docs/ninjaone/compound-conditions/ssl-audit-servers.md @@ -7,7 +7,7 @@ keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issue description: 'This compound condition performs SSL Certificate Audit once per day on Windows servers where auditing is enabled from `cPVAL Enable SSL Cert Audit` custom field. If set to Disable, the audit will not be performed.' tags: ['windows'] draft: false -unlisted: false +unlisted: true last_update: date: 2026-02-16 --- @@ -31,6 +31,11 @@ This compound condition performs SSL Certificate Audit once per day on Windows s ## Changelog +### 2026-07-20 + +- Deprecated [Compound Condition : SSL Audit - Servers](/docs/e38129a0-21bf-45fc-b6da-528312973aa0) as [Task : Audit Local Machine Certificates](/docs/f83dd443-cd43-45ce-8f05-a09e78b9ac0d) will run the Audit script on all windows machines. + + ### 2026-02-13 - Initial version of the document diff --git a/docs/ninjaone/compound-conditions/ssl-audit-workstations.md b/docs/ninjaone/compound-conditions/ssl-audit-workstations.md index 97c6a6eabe..49a40adbb3 100644 --- a/docs/ninjaone/compound-conditions/ssl-audit-workstations.md +++ b/docs/ninjaone/compound-conditions/ssl-audit-workstations.md @@ -7,7 +7,7 @@ keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issue description: 'This compound condition performs SSL Certificate Audit once per day on Windows Workstations where auditing is enabled from `cPVAL Enable SSL Cert Audit` custom field. If set to Disable, the audit will not be performed.' tags: ['windows'] draft: false -unlisted: false +unlisted: true last_update: date: 2026-02-16 --- @@ -32,6 +32,10 @@ This compound condition performs SSL Certificate Audit once per day on Windows W ## Changelog +### 2026-07-20 + +- Deprecated [Compound Condition : SSL Audit - Servers](/docs/e38129a0-21bf-45fc-b6da-528312973aa0) and [Compound Condition : SSL Audit - Workstations](/docs/d6082c07-16ba-4b32-8eee-c01384378ac7) as [Task : Audit Local Machine Certificates](/docs/f83dd443-cd43-45ce-8f05-a09e78b9ac0d) will run the Audit script on all windows machines. + ### 2026-02-16 - Initial version of the document diff --git a/docs/ninjaone/custom-fields/cpval-enable-ssl-cert-audit.md b/docs/ninjaone/custom-fields/cpval-enable-ssl-cert-audit.md index 07497fd6a3..de32829948 100644 --- a/docs/ninjaone/custom-fields/cpval-enable-ssl-cert-audit.md +++ b/docs/ninjaone/custom-fields/cpval-enable-ssl-cert-audit.md @@ -7,9 +7,9 @@ keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issue description: 'Custom Field to enable SSL Certificates Audit' tags: ['windows'] draft: false -unlisted: false +unlisted: true last_update: - date: 2026-02-16 + date: 2026-07-20 --- ## Summary @@ -23,6 +23,7 @@ Select the operating system for which SSL Certificate Audit should be enabled. U ## Dependencies + - [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) ## Custom Field Creation @@ -35,6 +36,10 @@ Select the operating system for which SSL Certificate Audit should be enabled. U ## Changelog +### 2026-07-20 + +- Deprecating this Custom Field, since its an Audit solution and no longer be controlled by the custom field. + ### 2026-02-13 - Initial version of the document diff --git a/docs/ninjaone/custom-fields/cpval-enable-ssl-cert-expiration-alert.md b/docs/ninjaone/custom-fields/cpval-enable-ssl-cert-expiration-alert.md new file mode 100644 index 0000000000..eed81b9982 --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-enable-ssl-cert-expiration-alert.md @@ -0,0 +1,41 @@ +--- +id: '60d87a2b-e5ba-4aef-bbc8-35d60d101889' +slug: /60d87a2b-e5ba-4aef-bbc8-35d60d101889 +title: 'cPVAL Enable SSL Cert Expiration Alerts' +title_meta: 'cPVAL Enable SSL Cert Expiration Alerts' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'Custom Field to select the operating systems on which SSL Certificate Expiration Alerts should be enabled.' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Summary + +Select the operating systems for which SSL Certificate Expiration Alerts should be enabled. It will detect expired and approaching expiration certificates based on configured threshold and generate alerts for the selected operating system. + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Option Value | Default Value | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ---- | ---------------- | ---- | -------- | ------------ | ------------- | --------------------- | --------------------- | -------------- | ----------- | +| cPVAL Enable SSL Cert Expiration Alerts | cpvalEnableSslCertExpirationAlerts | Organization, Location, Device | DropDown | False | Disable, Windows, Windows Workstations, Windows Servers | | Editable | Read/Write | Read/Write | SSL Certificate | + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-enable-ssl-cert-expiration-alert.toml) + +## Sample Screenshot + +![Image](../../../static/img/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889/image1.webp) + +## Changelog + +### 2026-07-22 + +- Initial version of the document diff --git a/docs/ninjaone/custom-fields/cpval-expired-ssl-certificates-detected.md b/docs/ninjaone/custom-fields/cpval-expired-ssl-certificates-detected.md new file mode 100644 index 0000000000..f54f0c2594 --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-expired-ssl-certificates-detected.md @@ -0,0 +1,41 @@ +--- +id: '2c4efab3-5417-485a-b9cd-7d67ce474fd9' +slug: /2c4efab3-5417-485a-b9cd-7d67ce474fd9 +title: 'cPVAL Expired SSL Certificates Detected' +title_meta: 'cPVAL Expired SSL Certificates Detected' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'This custom field is updated by the `Windows - Certificates (My) - Local Machine - Audit` script to `True` when an expired certificate or a certificate approaching expiration date is detected on the device.' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Summary +This custom field is updated by the [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) and set to `True` when an expired certificate or a certificate approaching expiration date is detected on the device. + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ---- | ---------------- | ---- | -------- | ------------- | --------------------- | --------------------- | -------------- | ----------- | +|cPVAL Expired SSL Certificates Detected|cpvalExpiredSslCertificatesDetected| `Device` | Text | False | | Editable | Read_Write | Read_Write | SSL Certificate | + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-expired-ssl-certificates-detected.toml) + +## Sample Screenshot + +![Image](../../../static/img/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9/image1.webp) + +## Changelog + +### 2026-07-22 + +- Initial version of the document + diff --git a/docs/ninjaone/custom-fields/cpval-ssl-cert-expiry-threshold.md b/docs/ninjaone/custom-fields/cpval-ssl-cert-expiry-threshold.md new file mode 100644 index 0000000000..4e0d4b4409 --- /dev/null +++ b/docs/ninjaone/custom-fields/cpval-ssl-cert-expiry-threshold.md @@ -0,0 +1,40 @@ +--- +id: '304ab339-e99e-4b2d-9729-58a715df0a87' +slug: /304ab339-e99e-4b2d-9729-58a715df0a87 +title: 'cPVAL SSL Cert Expiry Threshold' +title_meta: 'cPVAL SSL Cert Expiry Threshold' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'Custom Field to define the number of days prior to SSL certificate expiration when an alert should be generated.' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Summary +Custom Field to define the number of days prior to SSL certificate expiration when an alert should be generated. Certificates that are already expired or are within the configured expiration threshold will be detected and reported. Default Value is 30 Days. + +## Details + +| Label | Field Name | Definition Scope | Type | Required | Default Value | Technician Permission | Automation Permission | API Permission | Custom Field Tab Name | +| ----- | ---- | ---------------- | ---- | -------- | ------------- | --------------------- | --------------------- | -------------- | ----------- | +|cPVAL SSL Cert Expiry Threshold| cpvalSslCertExpiryThreshold | `Organization`, `Location`, `Device` | Text | False | | Editable | Read_Write | Read_Write | SSL Certificate | + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) + +## Custom Field Creation + +- [Custom Field Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/custom-fields/cpval-ssl-cert-expiry-threshold.toml) + +## Sample Screenshot + +![Image](../../../static/img/docs/304ab339-e99e-4b2d-9729-58a715df0a87/image1.webp) + +## Changelog + +### 2026-07-22 + +- Initial version of the document diff --git a/docs/ninjaone/custom-fields/cpval-ssl-certificate-audit.md b/docs/ninjaone/custom-fields/cpval-ssl-certificate-audit.md index 1374576104..62f6d6a941 100644 --- a/docs/ninjaone/custom-fields/cpval-ssl-certificate-audit.md +++ b/docs/ninjaone/custom-fields/cpval-ssl-certificate-audit.md @@ -13,7 +13,7 @@ last_update: --- ## Summary -List of all SSL certificates in the personal certificate repository. This Data is populated by [SSL Certificate Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5)` automation. +List of all SSL certificates in the personal certificate repository. This Data is populated by [Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) automation. ## Details diff --git a/docs/ninjaone/cw-manage-ticket-templates/ssl-cert-expiration-alerts.md b/docs/ninjaone/cw-manage-ticket-templates/ssl-cert-expiration-alerts.md new file mode 100644 index 0000000000..97931e8656 --- /dev/null +++ b/docs/ninjaone/cw-manage-ticket-templates/ssl-cert-expiration-alerts.md @@ -0,0 +1,36 @@ +--- +id: '1333942f-f022-4795-956b-ae86f815a636' +slug: /1333942f-f022-4795-956b-ae86f815a636 +title: 'SSL Cert Expiration Alerts' +title_meta: 'SSL Cert Expiration Alerts' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: '' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Overview + +This ticket template configures how a ConnectWise Manage ticket will be generated in response to the [Compound Condition : Monitor SSL Cert Expiration - Workstations](/docs/8c096a91-90f6-4c25-a5dc-745598b19e11) and [Compound Condition : Monitor SSL Cert Expiration - Servers](/docs/79d5020a-7487-42ad-9dc3-1cfd7d675be5) condition. + +## Requirement + +Ensure that the ConnectWise Manage app is enabled and connected. +![Requirement](../../../static/img/docs/86a9b907-a95e-48a8-a304-2bb243c3b6a1/requirement.webp) + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) + +## Template Creation + +[CW Manage Ticket Template Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/cw-manage-ticket-templates/ssl-cert-expiration-alerts.toml) + +## Changelog + +### 2026-07-22 + +- Initial version of the document \ No newline at end of file diff --git a/docs/ninjaone/tasks/audit-local-machine-certificates.md b/docs/ninjaone/tasks/audit-local-machine-certificates.md new file mode 100644 index 0000000000..f031cd7ece --- /dev/null +++ b/docs/ninjaone/tasks/audit-local-machine-certificates.md @@ -0,0 +1,41 @@ +--- +id: 'f83dd443-cd43-45ce-8f05-a09e78b9ac0d' +slug: /f83dd443-cd43-45ce-8f05-a09e78b9ac0d +title: 'Audit Local Machine Certificates' +title_meta: 'Audit Local Machine Certificates' +keywords: ['certificates', 'audit', 'expiration', 'status', 'thumbprint', 'issuer', 'subject', 'client', 'computer'] +description: 'This task executes Windows - Certificates (My) - Local Machine - Audit once per day.' +tags: ['windows'] +draft: false +unlisted: false +last_update: + date: 2026-07-22 +--- + +## Summary + +This task executes [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) once per day on windows machines. + +## Dependencies + +- [Solution - SSL Certificate Audit](/docs/cf5acc69-183c-4838-9484-2f3d9a247877) +- [Group : cPVAL Windows Servers](/docs/c73e004e-6a9c-40e4-8e74-babb4b729256) +- [Group : cPVAL Windows Workstations](/docs/6c0a75ba-68b7-47a5-acb8-17ef303f9422) +- [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) + + +## Details + +| Name | Description | Allow Groups | Repeats | Recur every | Start At | Ends | Targets | Automations | +| ---------- | ----------- | ------------ | ------- | ----------- | -------- | ---- | ------- | ----------- | +| Audit Local Machine Certificates | This task executes 'Windows - Certificates (My) - Local Machine - Audit' once per day. | True | Daily | 1 Day | 07/17/2026 10:00 AM | Never | [Group : cPVAL Windows Servers](/docs/c73e004e-6a9c-40e4-8e74-babb4b729256), [Group : cPVAL Windows Workstations](/docs/6c0a75ba-68b7-47a5-acb8-17ef303f9422)| [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) | + +## Task Creation + +[Task Configuration](https://github.com/ProVal-Tech/ninjarmm/blob/main/tasks/audit-local-machine-certificates.toml) + +## Changelog + +### 2026-07-22 + +- Initial version of the document \ No newline at end of file diff --git a/docs/solutions/ssl-certificate-audit-ninja.md b/docs/solutions/ssl-certificate-audit-ninja.md index 1f2c3042a8..bef821cd07 100644 --- a/docs/solutions/ssl-certificate-audit-ninja.md +++ b/docs/solutions/ssl-certificate-audit-ninja.md @@ -9,35 +9,163 @@ tags: ['windows'] draft: false unlisted: false last_update: - date: 2026-02-16 + date: 2026-07-22 --- + ## Purpose -The purpose of this NinjaOne solution is to pull any and all certificates in the personal certificate repository on windows machines. +The purpose of this solution is to audit all certificates in the **Local Machine Personal** certificate store on Windows devices and maintain an up-to-date inventory of the certificates present on each endpoint. During each audit, the solution identifies certificates that have expired or are approaching expiration based on a configurable threshold, updates the certificate inventory custom field with the audit results, and flags endpoints containing expired or soon-to-expire certificates. By default, certificates expiring within **30 days** are considered to be approaching expiration. This threshold can be customized using either using a custom field or the script parameter. + +The solution also provides an optional alerting feature that uses the audit results to generate tickets only for devices where SSL certificate expiration monitoring has been enabled. + +### Key Capabilities + +1. **Comprehensive Certificate Auditing** + Audits all certificates in the Windows **Local Machine Personal** certificate store and maintains an up-to-date inventory of the certificates present on each endpoint. + +2. **Configurable Expiration Threshold** + Configure the number of days prior to certificate expiration when a certificate should be considered as approaching expiration. The default expiration threshold is **30 days**. + +3. **Certificate Inventory Reporting** + Updates the **[cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495)** custom field with detailed information about every certificate discovered during the audit, including certificate metadata and expiration details. + +4. **Optional Expiration Alerting** + Detects expired and soon-to-expire certificates and updates the **[cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9)** custom field. The optional alerting component uses this information to generate alerts only on devices where SSL certificate expiration monitoring has been enabled. + +### Important Caveats & Behavior + +1. **Certificate Store Audited** + The solution audits certificates located only in the Windows **Local Machine Personal (My)** certificate store. Certificates stored in other certificate stores are not evaluated. + +2. **Expiration Detection** + During each audit, certificates are evaluated against the configured expiration threshold. Certificates that have already expired or are within the configured threshold are flagged for reporting. + +3. **Auditing and Alerting are Independent** + Certificate auditing operates independently and always updates the certificate inventory. Alerting is optional and depends on the **[cPVAL Enable SSL Cert Expiration Alerts](/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889)** custom field being enabled. + +4. **Recurring Audits** + The audit task is designed to run on a scheduled basis to keep the certificate inventory current and ensure newly expired or soon-to-expire certificates are detected promptly. ## Associated Content -| Content | Type | Function | -|-----------------------------------------------------|-----------------------------------------------------------|--------------------------------------------------------| -| [cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) | Custom Field | List of all SSL certificates in the personal certificate repository. This Data is populated by [SSL Certificate Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) automation. | -| [cPVAL Enable SSL Cert Audit](/docs/87e79b06-8bb4-4902-8a0c-0a626dfb11ab) | Custom Field | Custom Field to enable SSL Certificates Audit | -| [SSL Certificate Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) | Automation | This Script pulls any and all certificates in the personal certificate repository on windows machines that it is run on. | -| [SSL Audit - Servers](/docs/e38129a0-21bf-45fc-b6da-528312973aa0) | Compound Condition | This compound condition performs SSL Certificate Audit once per day on Windows servers | -| [SSL Audit - Workstations](/docs/d6082c07-16ba-4b32-8eee-c01384378ac7) | Compound Condition | This compound condition performs SSL Certificate Audit once per day on Windows Workstations | +### For Auditing + +| Content | Type | Function | +|---------------------------|-----------------------------------|------------------------------------------| +| [cPVAL SSL Certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) | Custom Field | Stores the inventory of all certificates discovered in the Local Machine Personal certificate store. This field is populated by [Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) | +| [cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) | Custom Field | Set to `True` by [Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) when one or more certificates are expired or approaching expiration based on the configured threshold. This custom field is also used by the alerting solution. | +| [cPVAL SSL Cert Expiry Threshold](/docs/304ab339-e99e-4b2d-9729-58a715df0a87) | Custom Field | Defines the number of days before certificate expiration when a certificate should be considered as approaching expiration. Certificates that have already expired or fall within the configured threshold are flagged during the audit. The default value is 30 days. This custom field is also used by the alerting solution.| +| [Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) | Automation | Audits all certificates in the Local Machine Personal certificate store, updates the [Custom Field : cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) with the audit results, identifies certificates that are expired or approaching expiration based on the configured threshold, and sets the [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) to `True` if any such certificates are detected. | +| [Audit Local Machine Certificates](/docs/f83dd443-cd43-45ce-8f05-a09e78b9ac0d)| Task | Executes [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) once per day against [Group : cPVAL Windows Servers](/docs/c73e004e-6a9c-40e4-8e74-babb4b729256) and [Group : cPVAL Windows Workstations](/docs/6c0a75ba-68b7-47a5-acb8-17ef303f9422) to maintain an up-to-date certificate inventory and detect expired or soon-to-expire certificates. | + + +### For Alerting + +| Content | Type | Function | +|-------|-----------------------------------------------------------|-----------------------------| +| [cPVAL Enable SSL Cert Expiration Alerts](/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889) | Custom Field | Enables or disables SSL certificate expiration monitoring for the selected operating systems. When enabled, alerts are generated for expired or soon-to-expire certificates based on the configured expiration threshold. | +| [SSL Cert Expiration Alerts](/docs/1333942f-f022-4795-956b-ae86f815a636) | Ticket Template |Defines how ConnectWise Manage tickets are created when [Compound Condition : Monitor SSL Cert Expiration - Workstations](/docs/8c096a91-90f6-4c25-a5dc-745598b19e11) or [Compound Condition : Monitor SSL Cert Expiration - Servers](/docs/79d5020a-7487-42ad-9dc3-1cfd7d675be5) detects expired or soon-to-expire certificates. | +| [SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) | Automation | Processes the audit results and generates alerts for expired or soon-to-expire certificates that have not already been reported. The default certificate expiration threshold is 30 days. | +| [Monitor SSL Cert Expiration - Workstations](/docs/8c096a91-90f6-4c25-a5dc-745598b19e11) | Compound Condition | Executes [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) on Windows workstations where [Custom Field : cPVAL Enable SSL Cert Expiration Alerts](/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889) is enabled and [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) is set to True. Tickets are generated only for expired or soon-to-expire certificates that have not already been alerted on. | +| [Monitor SSL Cert Expiration - Servers](/docs/79d5020a-7487-42ad-9dc3-1cfd7d675be5) | Compound Condition | Executes [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) on Windows Servers where [Custom Field : cPVAL Enable SSL Cert Expiration Alerts](/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889) is enabled and [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) is set to True. Tickets are generated only for expired or soon-to-expire certificates that have not already been alerted on. | ## Implementation -- Create the below Custom Fields using the implementation instruction provided in the documents. - - [Custom field - cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) - - [Custom field - cPVAL Enable SSL Cert Audit](/docs/87e79b06-8bb4-4902-8a0c-0a626dfb11ab) -- Create the [Automation - SSL Certificate Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) using the implementation instruction provided in the document. -- Create the below Compound Conditions using the implementation instruction provided in the documents. - - [Compound Condition - SSL Audit - Servers](/docs/e38129a0-21bf-45fc-b6da-528312973aa0) - - [Compound Condition - SSL Audit - Workstations](/docs/d6082c07-16ba-4b32-8eee-c01384378ac7) +### Step 1: Create the Following Custom Fields + +Create all the custom fields listed below. These custom fields are required for the auditing and optional alerting components to function correctly. + +- [Custom Field : cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) +- [Custom Field : cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) +- [Custom Field : cPVAL SSL Cert Expiry Threshold](/docs/304ab339-e99e-4b2d-9729-58a715df0a87) +- [Custom Field : cPVAL Enable SSL Cert Expiration Alerts](/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889) + +### Step 2: Create the Following Scripts + +Create the automation scripts listed below. + +- [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) +- [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) + +### Step 3: Create the Ticket Template + +Create the following ticket template to define how alerts are converted into ConnectWise Manage tickets. + +- [Ticket Template : SSL Cert Expiration Alerts](/docs/1333942f-f022-4795-956b-ae86f815a636) + +### Step 4: Create the Audit Task + +Create the following task to execute the certificate audit on managed Windows devices. + +- [Task : Audit Local Machine Certificates](/docs/f83dd443-cd43-45ce-8f05-a09e78b9ac0d) + +Schedule the [Task : Audit Local Machine Certificates](/docs/f83dd443-cd43-45ce-8f05-a09e78b9ac0d) to run once per day against [Group : cPVAL Windows Servers](/docs/c73e004e-6a9c-40e4-8e74-babb4b729256) and [Group : cPVAL Windows Workstations](/docs/6c0a75ba-68b7-47a5-acb8-17ef303f9422) to maintain an up-to-date certificate inventory. + +### Step 5: Create the Alerting Compound Conditions + +Create the following compound conditions to enable SSL certificate expiration monitoring. + +- [Compound Condition : Monitor SSL Cert Expiration - Workstations](/docs/8c096a91-90f6-4c25-a5dc-745598b19e11) +- [Compound Condition : Monitor SSL Cert Expiration - Servers](/docs/79d5020a-7487-42ad-9dc3-1cfd7d675be5) + +### Step 6: Review and Configure the Expiration Threshold + +Review the default expiration threshold and configure the [Custom Field : cPVAL SSL Cert Expiry Threshold](/docs/304ab339-e99e-4b2d-9729-58a715df0a87) as required for your environment. If no value is configured, the solution uses the default threshold of **30 days**. Alternatively, the threshold can be overridden by passing the appropriate parameter to the audit script. + +### Step 7: Enable SSL Certificate Expiration Monitoring + +Configure the [Custom Field : cPVAL Enable SSL Cert Expiration Alerts](/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889) for the required operating systems to enable SSL certificate expiration monitoring. Only devices with monitoring enabled will execute [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) and generate tickets for expired or soon-to-expire certificates. + + +## FAQ + +### Q: How does the SSL Certificate Audit solution work? + +> The [Script : Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) audits all certificates in the Windows **Local Machine Personal** certificate store, updates the [cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) custom field with the audit results, and identifies certificates that are expired or approaching expiration. If any such certificates are detected, the [cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) custom field is set to `True`. + +### Q: Which certificate store is audited? + +> The solution audits only the Windows **Local Machine Personal (My)** certificate store. Certificates stored in other certificate stores are not evaluated. + +### Q: What is the default expiration threshold? + +> By default, certificates expiring within **30 days** are considered to be approaching expiration. This threshold can be changed using the [Custom Field : cPVAL SSL Cert Expiry Threshold](/docs/304ab339-e99e-4b2d-9729-58a715df0a87) or by passing a threshold value as a parameter to the audit script and Alerting script. + +### Q: What information is stored in the certificate audit? + +> The [cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) custom field contains an inventory of all certificates discovered during the audit, including details such as the subject, issuer, thumbprint, serial number, private key status, certificate creation date, and expiration date. + +### Q: Can certificate auditing be used without enabling alerting? + +> Yes. The auditing component operates independently and always updates the certificate inventory and expiration status. Enabling SSL certificate expiration monitoring is only required if you want tickets for expired or soon-to-expire certificates. + +### Q: How are SSL certificate expiration alerts generated? + +> The [Script : SSL Certificate Expiration Monitoring](/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443) processes the audit results and generates tickets only when SSL certificate expiration monitoring has been enabled and expired or soon-to-expire certificates are detected that have not already been reported. + +### Q: How often should the certificate audit run? + +> It is recommended to schedule the [Task : Audit Local Machine Certificates](/docs/f83dd443-cd43-45ce-8f05-a09e78b9ac0d) to run once per day to maintain an up-to-date certificate inventory and detect newly expired or soon-to-expire certificates. + +### Q: What happens if there are no expired or soon-to-expire certificates? + +> The audit still updates the [cPVAL SSL certificate Audit](/docs/350874e6-7bef-4bff-8fce-f2772acab495) custom field with the current certificate inventory. The [cPVAL Expired SSL Certificates Detected](/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9) custom field remains `False`, and no SSL certificate expiration alerts are generated. + +### Q: Does the solution modify, renew, or remove certificates? + +> No. This solution is intended for auditing and monitoring only. It does not install, renew, modify, or remove certificates from the endpoint. ## Changelog +### 2026-07-22 + +- Deprecated custom field `cPVAL Enable SSL Cert Audit`. Certificate auditing is no longer controlled by this custom field. +- Renamed script to [Windows - Certificates (My) - Local Machine - Audit](/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5) to better reflect that the script audits all certificates in the **Local Machine Personal** certificate store rather than only SSL certificates. +- Deprecated `Compound Condition : SSL Audit - Servers` and `Compound Condition : SSL Audit - Workstations`. Certificate auditing is now performed by [Task : Audit Local Machine Certificates](/docs/f83dd443-cd43-45ce-8f05-a09e78b9ac0d), which runs the audit script on all supported Windows devices. +- Separated the solution into independent **Auditing** and **Alerting** components, allowing certificate auditing to operate independently while providing optional SSL certificate expiration monitoring. + + ### 2026-02-16 -- Initial version of the document +- Initial version of the document. diff --git a/static/img/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9/image1.webp b/static/img/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9/image1.webp new file mode 100644 index 0000000000..89f88d983f Binary files /dev/null and b/static/img/docs/2c4efab3-5417-485a-b9cd-7d67ce474fd9/image1.webp differ diff --git a/static/img/docs/304ab339-e99e-4b2d-9729-58a715df0a87/image1.webp b/static/img/docs/304ab339-e99e-4b2d-9729-58a715df0a87/image1.webp new file mode 100644 index 0000000000..181a1c7960 Binary files /dev/null and b/static/img/docs/304ab339-e99e-4b2d-9729-58a715df0a87/image1.webp differ diff --git a/static/img/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5/image1.webp b/static/img/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5/image1.webp index 3bccf52533..f9c38ad209 100644 Binary files a/static/img/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5/image1.webp and b/static/img/docs/3c9e2ed2-f805-4da9-85fb-7fa1d1d146f5/image1.webp differ diff --git a/static/img/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443/image1.webp b/static/img/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443/image1.webp new file mode 100644 index 0000000000..f3a9490ef4 Binary files /dev/null and b/static/img/docs/4b6c5595-4336-4e14-a119-c6c7e2c31443/image1.webp differ diff --git a/static/img/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889/image1.webp b/static/img/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889/image1.webp new file mode 100644 index 0000000000..f90dcd09de Binary files /dev/null and b/static/img/docs/60d87a2b-e5ba-4aef-bbc8-35d60d101889/image1.webp differ