Public/Get-cChocoExEnvironment.ps1
function Get-cChocoExEnvironment { [CmdletBinding()] param( ) process { $Ring = Get-cChocoExRing if (Test-isWinOS) { $OSEnv = 'WinOS' } if (Test-isWinOS.OOBE) { $OSEnv = 'OOBE' } if (Test-isWinPE) { $OSEnv = 'WinPE' } if (Test-IsWinSE) { $OSEnv = 'WinSE' } $LastReboot = Get-CimInstance -ClassName win32_operatingsystem | Select-Object -ExpandProperty lastbootuptime $Uptime = "{0:dd}d:{0:hh}h:{0:mm}m:{0:ss}s" -f (New-TimeSpan -Start $LastReboot -End (Get-Date)) $ChocoVersion = Get-Item -Path (Join-Path $env:ChocolateyInstall 'choco.exe') -ErrorAction SilentlyContinue | Select-Object -ExpandProperty VersionInfo | Select-Object -ExpandProperty ProductVersion $VPNActive = Get-VPN -Active $TSEnv = Test-TSEnv $Win32_OperatingSystem = Get-CimInstance Win32_OperatingSystem $PSCustomObject = [PSCustomObject]@{ OS = $Win32_OperatingSystem.Caption OSVersion = $Win32_OperatingSystem.Version OSEnvironment = $OSEnv ModuleBase = $Global:ModuleBase cChocoExDataFolder = $Global:cChocoExDataFolder cChocoExConfigurationFolder = $Global:cChocoExConfigurationFolder cChocoExTMPConfigurationFolder = $Global:cChocoExTMPConfigurationFolder LogPath = $Global:LogPath cChocoExMediaFolder = $Global:cChocoExMediaFolder Ring = $Ring TSEnv = $TSEnv ChocolateyInstall = $env:ChocolateyInstall ChocolateyVersion = $ChocoVersion LastReboot = $LastReboot Uptime = $Uptime VPNActive = $VPNActive } return $PSCustomObject } } |