DoctorDO.Collector.psd1

@{
    RootModule            = 'DoctorDO.Collector.psm1'
    ModuleVersion         = '1.0.0'
    GUID                  = '6f0d2a7e-3c5b-4e8a-9b1d-7a2c4e6f8b10'
    Author                = 'Maurice Daly'
    CompanyName           = 'DoctorDO'
    Copyright             = '(c) 2026 Maurice Daly. All rights reserved.'
    Description           = 'Diagnostics for Windows Delivery Optimization that change no Delivery Optimization, firewall, proxy or service setting. Writes an offline HTML device report or a local support bundle, checks the endpoints, proxy, peers and Connected Cache that Delivery Optimization depends on, and with -Fleet sends inventory and compact telemetry to your own DoctorDO deployment, each request signed with the device certificate key. No report leaves the device unless you run fleet mode with your own ingest URL. Windows 10 2004 / Windows 11 or later; Windows PowerShell 5.1 or PowerShell 7. DoctorDO is an independent community project, free to use, and in preview. Source-available under the PolyForm Shield License 1.0.0, not open source: free to use, change and share, except to provide a product that competes with it (see the licence).'
    PowerShellVersion     = '5.1'
    CompatiblePSEditions  = @('Desktop', 'Core')
    FunctionsToExport     = @('Invoke-DoctorDOCollector', 'Get-DOInventory', 'Get-DOTelemetry', 'Get-DOConnectivityMatrix', 'Test-DOConnectivity', 'Send-DoctorDOReport', 'New-DoctorDODeviceReport')
    # Every file of the module folder, relative, with '/' (the module's own manifest included). The Intune remediation
    # (collector/intune/Remediate-DoctorDO.ps1) accepts an installed copy only when its files are exactly these and each
    # matches the release's SHA-256 list (collector-manifest.json); a test keeps this list equal to the folder.
    FileList              = @(
        'Data/device-report.html',
        'Data/endpoints.json',
        'Data/redaction-profile.json',
        'DoctorDO.Collector.psd1',
        'DoctorDO.Collector.psm1',
        'LICENSE',
        'Private/Bundle.ps1',
        'Private/Collect.ps1',
        'Private/Compact.ps1',
        'Private/Connectivity.ps1',
        'Private/Context.ps1',
        'Private/Diag.ps1',
        'Private/DoData.ps1',
        'Private/Endpoints.ps1',
        'Private/Facts.ps1',
        'Private/Health.ps1',
        'Private/Http.ps1',
        'Private/Insight.ps1',
        'Private/Json.ps1',
        'Private/Pac.ps1',
        'Private/Platform.ps1',
        'Private/ProbeNative.ps1',
        'Private/Progress.ps1',
        'Private/Provisioning.ps1',
        'Private/Redact.ps1',
        'Private/Report.ps1',
        'Private/Signing.ps1',
        'Private/State.ps1',
        'Private/VerboseCycle.ps1',
        'Public/Get-DOConnectivityMatrix.ps1',
        'Public/Get-DOInventory.ps1',
        'Public/Get-DOTelemetry.ps1',
        'Public/Invoke-DoctorDOCollector.ps1',
        'Public/New-DoctorDODeviceReport.ps1',
        'Public/Send-DoctorDOReport.ps1',
        'Public/Test-DOConnectivity.ps1',
        'THIRD-PARTY-NOTICES.txt',
        'en-US/about_DoctorDO.Collector.help.txt'
    )
    CmdletsToExport       = @()
    VariablesToExport     = @()
    AliasesToExport       = @()
    PrivateData           = @{
        PSData = @{
            Tags         = @('DeliveryOptimization', 'ConnectedCache', 'WindowsUpdate', 'Intune', 'Diagnostics', 'Troubleshooting', 'Network', 'Windows', 'PSEdition_Desktop', 'PSEdition_Core')
            # Pages on the DoctorDO site, open without signing in: the licence page shows the full licence text with its
            # Required Notice. Both must resolve before publishing (the Gallery shows them as the package's links).
            LicenseUri   = 'https://www.doctor-do.com/licence/'
            ProjectUri   = 'https://www.doctor-do.com/get-started/'
            # IconUri must be a direct link to an 85x85 PNG with a transparent background (not a page, not a file in
            # the package), at an address that will not change. None is published yet; add the line once one is, e.g.:
            # IconUri = 'https://www.doctor-do.com/<path to the 85x85 PNG>'
            ReleaseNotes = '1.0.0, the first public release. DoctorDO.Collector diagnoses Windows Delivery Optimization on one device: it reads Delivery Optimization''s configuration, status, peers and log, checks the endpoints, proxy and Connected Cache it depends on, works out what is wrong, and writes an offline HTML report or a local support bundle. It changes no Delivery Optimization, firewall, proxy or service setting, and with -Fleet it sends signed inventory and telemetry to your own DoctorDO deployment. The module is not signed. It is free, under the PolyForm Shield License 1.0.0 (source-available, not open source); DoctorDO, the independent community project it belongs to, is in preview. Commands: New-DoctorDODeviceReport, an offline HTML, PDF or JSON report of this device. Invoke-DoctorDOCollector, a local support bundle, or fleet reporting with -Fleet; -WhatIfRedaction prints what is scrubbed. Test-DOConnectivity and Get-DOConnectivityMatrix, the endpoint, proxy, peer and Connected Cache checks, as a table or as objects. Get-DOInventory and Get-DOTelemetry, the inventory and the telemetry report, returned without being sent. Send-DoctorDOReport, sends one signed report to your ingest service. More: Get-Help about_DoctorDO.Collector.'
            # No Prerelease label: releases are normal versions (Windows PowerShell 5.1's in-box PowerShellGet cannot
            # install prereleases, and the label is not part of the install folder).
        }
    }
}