public/Get-UnraidShare.ps1
|
function Get-UnraidShare { <# .SYNOPSIS Lists user shares and their disk usage. .PARAMETER Session Unraid session (defaults to current session). .EXAMPLE Get-UnraidShare #> [CmdletBinding()] [OutputType("UnraidShare")] param( [Parameter()] [UnraidSession]$Session = $script:DefaultUnraidSession ) process { $gqlQuery = @" query GetShares { shares { name comment free used size allocator splitLevel floor cache include exclude cow luksStatus } } "@ Write-Verbose "Fetching share list..." $result = Invoke-UnraidQuery -Query $gqlQuery -Session $Session $shareList = [System.Collections.Generic.List[UnraidShare]]::new() if ($result.shares) { foreach ($shareData in $result.shares) { $shareObj = [UnraidShare]::new($shareData) $shareList.Add($shareObj) } } return $shareList } } |