Public/Connect-PSubsonic.ps1
function Connect-PSubsonic { [CmdletBinding()] param ( [Parameter()] [Uri] $Address, [Parameter()] [pscredential] $Credential ) process { try { if (!$PSBoundParameters.ContainsKey('Address')) { $Address = $script:SubsonicUri } if (!$PSBoundParameters.ContainsKey('Credential')) { $Credential = $script:SubsonicCredential } $uriBuilder = [uribuilder]$Address if ($uriBuilder.Path -eq '/') { $uriBuilder.Path = '/rest/' } $script:SubsonicUri = $uriBuilder.Uri $script:SubsonicCredential = $Credential invokeApiMethod -Method 'ping.view' } catch { $script:SubsonicUri = $null $script:SubsonicCredential = $null throw } } } |