public/Get-UnraidServer.ps1
|
function Get-UnraidServer { <# .SYNOPSIS Gets server overview and resource usage. .PARAMETER Session Unraid session (defaults to current session). .EXAMPLE Get-UnraidServer .EXAMPLE Get-UnraidServer | Format-List #> [CmdletBinding()] [OutputType("UnraidServer")] param( [Parameter()] [UnraidSession]$Session = $script:DefaultUnraidSession ) process { $gqlQuery = @" query ServerDashboard { server { name lanip wanip guid } vars { comment timeZone workgroup domain } info { os { uptime } versions { core { unraid kernel } } system { manufacturer model serial uuid sku } cpu { brand cores threads } devices { network { iface mac speed model vendor } } baseboard { manufacturer model serial assetTag } memory { layout { bank type size clockSpeed manufacturer } } } metrics { cpu { percentTotal } memory { percentTotal used total } } array { state capacity { kilobytes { total used } } } } "@ $result = Invoke-UnraidQuery -Query $gqlQuery -Session $Session if ($result.server) { return [UnraidServer]::new($result) } } } |