protected override void ExecuteCmdlet() { var serverRelativeWebUrl = CurrentWeb.EnsureProperty(w => w.ServerRelativeUrl); if (!ServerRelativePageUrl.ToLowerInvariant().StartsWith(serverRelativeWebUrl.ToLowerInvariant())) { ServerRelativePageUrl = UrlUtility.Combine(serverRelativeWebUrl, ServerRelativePageUrl); } var properties = CurrentWeb.GetWebPartProperties(Identity, ServerRelativePageUrl); var values = properties.FieldValues.Select(x => new PropertyBagValue() { Key = x.Key, Value = x.Value }); if (!string.IsNullOrEmpty(Key)) { var value = values.FirstOrDefault(v => v.Key == Key); if (value != null) { WriteObject(value.Value); } } else { WriteObject(values, true); } }