コード例 #1
0
        protected override void ProcessRecord()
        {
            try
            {
                if (string.IsNullOrEmpty(ConsoleName))
                {
                    WriteObject(GetLocalSandboxObject());
                }
                else
                {
                    string url    = "https://" + ConsoleName + ":11443";
                    var    result = WdpConnections.GetXboxLiveSandboxAsync(url, UserName, Password).Result;

                    WriteObject(result, false);
                }
            }
            catch (AggregateException ex)
            {
                var innerEx  = ex.InnerException;
                var deviceEx = innerEx as DevicePortalException;
                if (deviceEx != null)
                {
                    WriteError(new ErrorRecord(ex, $"Get-XblSandbox failed, reason: {deviceEx.Reason}, code: {deviceEx.StatusCode}", ErrorCategory.InvalidOperation, null));
                }
                else
                {
                    WriteError(new ErrorRecord(innerEx, "Get-XblSandbox failed: " + innerEx.Message,
                                               ErrorCategory.InvalidOperation, null));
                }
            }
            catch (Exception ex)
            {
                WriteError(new ErrorRecord(ex, "Get-XblSandbox failed: " + ex.Message, ErrorCategory.InvalidOperation, null));
            }
        }