Private/UserAgent.ps1
. "$PSScriptRoot/../Public/WaykNowPackage.ps1" $OS_VERSION_UNKNOWN = "Unknown"; function Get-WaykNowUserAgent() { return Build-UserAgent } function Build-UserAgent() { return (Get-ProductInfo) + " " + (Get-PlatformInfo) } function Get-ProductInfo() { return "WaykNow/" + (Get-WaykNowVersion) } function Get-PlatformInfo() { if (Get-IsWindows) { $version = $OS_VERSION_UNKNOWN $versionExtra = $OS_VERSION_UNKNOWN $osVersion = (Get-ItemProperty -path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion").ProductName $osVersionExtra = (Get-ItemProperty -path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId if ($osVersion) { $version= $osVersion } if ($osVersionExtra) { $versionExtra = $osVersionExtra } return "(Windows; $version $versionExtra)" } elseif ($IsMacOS) { $version = $OS_VERSION_UNKNOWN $versionExtra = $OS_VERSION_UNKNOWN $osVersion = $(Invoke-Process -FilePath "sw_vers" -ArgumentList "-productVersion") $osVersionExtra = $(Invoke-Process -FilePath "sw_vers" -ArgumentList "-buildVersion") if ($osVersion) { $version= $osVersion -replace "`n", "" } if ($osVersionExtra) { $versionExtra = $osVersionExtra -replace "`n", "" } return "(macOS; $version $versionExtra)" } elseif ($IsLinux) { $version = $OS_VERSION_UNKNOWN $osVersion = $(Invoke-Process -FilePath "lsb_release" -ArgumentList "-d -s") if ($osVersion) { $version= $osVersion -replace "`n", "" } return "(Linux; $version)" } } |