Public/Get-SystemSummary.ps1

function Get-SystemSummary {
    [CmdletBinding()]
    param(
        [string] $Label = 'default'
    )

    $osDescription = [System.Runtime.InteropServices.RuntimeInformation]::OSDescription
    $osArchitecture = [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture
    $processCount = (Get-Process | Measure-Object).Count

    $summary = [ordered]@{
        Label              = $Label
        ComputerName       = [System.Environment]::MachineName
        UserName           = [System.Environment]::UserName
        PowerShellVersion  = $PSVersionTable.PSVersion.ToString()
        PowerShellEdition  = $PSVersionTable.PSEdition
        OSDescription      = $osDescription
        OSArchitecture     = $osArchitecture.ToString()
        ProcessCount       = $processCount
        CurrentTimeUtc     = (Get-Date).ToUniversalTime().ToString('o')
    }

    [pscustomobject]$summary
}