protected override void ExecuteCmdlet() { if (!this.MyInvocation.BoundParameters.ContainsKey("Folder")) { if (!Indexed) { // If it is already an indexed property we still have to add it back to the indexed properties Indexed = !string.IsNullOrEmpty(SelectedWeb.GetIndexedPropertyBagKeys().FirstOrDefault(k => k == Key)); } SelectedWeb.SetPropertyBagValue(Key, Value); if (Indexed) { SelectedWeb.AddIndexedPropertyBagKey(Key); } else { SelectedWeb.RemoveIndexedPropertyBagKey(Key); } } else { SelectedWeb.EnsureProperty(w => w.ServerRelativeUrl); var folderUrl = UrlUtility.Combine(SelectedWeb.ServerRelativeUrl, Folder); var folder = SelectedWeb.GetFolderByServerRelativeUrl(folderUrl); folder.EnsureProperty(f => f.Properties); folder.Properties[Key] = Value; folder.Update(); ClientContext.ExecuteQueryRetry(); } }
protected override void ExecuteCmdlet() { if (!string.IsNullOrEmpty(Key)) { SelectedWeb.AddIndexedPropertyBagKey(Key); } }
protected override void ExecuteCmdlet() { try { if (!ParameterSpecified(nameof(Folder))) { if (!Indexed) { // If it is already an indexed property we still have to add it back to the indexed properties Indexed = !string.IsNullOrEmpty(SelectedWeb.GetIndexedPropertyBagKeys().FirstOrDefault(k => k == Key)); } SelectedWeb.SetPropertyBagValue(Key, Value); if (Indexed) { SelectedWeb.AddIndexedPropertyBagKey(Key); } else { SelectedWeb.RemoveIndexedPropertyBagKey(Key); } } else { SelectedWeb.EnsureProperty(w => w.ServerRelativeUrl); var folderUrl = UrlUtility.Combine(SelectedWeb.ServerRelativeUrl, Folder); #if ONPREMISES var folder = SelectedWeb.GetFolderByServerRelativeUrl(folderUrl); #else var folder = SelectedWeb.GetFolderByServerRelativePath(ResourcePath.FromDecodedUrl(folderUrl)); #endif folder.EnsureProperty(f => f.Properties); folder.Properties[Key] = Value; folder.Update(); ClientContext.ExecuteQueryRetry(); } } catch (Exception ex) { if (ex is ServerUnauthorizedAccessException) { if (SelectedWeb.IsNoScriptSite()) { ThrowTerminatingError(new ErrorRecord(new Exception($"{ex.Message} Site might have NoScript enabled, this prevents setting some property bag values.", ex), "NoScriptEnabled", ErrorCategory.InvalidOperation, this)); return; } throw; } else { throw; } } }
protected override void ExecuteCmdlet() { if (Keys != null && Keys.Count > 0) { SelectedWeb.RemovePropertyBagValue("vti_indexedpropertykeys"); foreach (var key in Keys) { SelectedWeb.AddIndexedPropertyBagKey(key); } } }
protected override void ExecuteCmdlet() { if (!string.IsNullOrEmpty(Key)) { if (List != null) { var list = List.GetList(SelectedWeb); if (list != null) { list.AddIndexedPropertyBagKey(Key); } } else { SelectedWeb.AddIndexedPropertyBagKey(Key); } } }
protected override void ExecuteCmdlet() { if (!Indexed) { // If it is already an indexed property we still have to add it back to the indexed properties Indexed = !string.IsNullOrEmpty(SelectedWeb.GetIndexedPropertyBagKeys().FirstOrDefault(k => k == Key)); } SelectedWeb.SetPropertyBagValue(Key, Value); if (Indexed) { SelectedWeb.AddIndexedPropertyBagKey(Key); } else { SelectedWeb.RemoveIndexedPropertyBagKey(Key); } }
protected override void ExecuteCmdlet() { if (SelectedWeb.IsNoScriptSite()) { ThrowTerminatingError(new ErrorRecord(new Exception("Site has NoScript enabled, and setting property bag values is not supported"), "NoScriptEnabled", ErrorCategory.InvalidOperation, this)); return; } if (!MyInvocation.BoundParameters.ContainsKey("Folder")) { if (!Indexed) { // If it is already an indexed property we still have to add it back to the indexed properties Indexed = !string.IsNullOrEmpty(SelectedWeb.GetIndexedPropertyBagKeys().FirstOrDefault(k => k == Key)); } SelectedWeb.SetPropertyBagValue(Key, Value); if (Indexed) { SelectedWeb.AddIndexedPropertyBagKey(Key); } else { SelectedWeb.RemoveIndexedPropertyBagKey(Key); } } else { SelectedWeb.EnsureProperty(w => w.ServerRelativeUrl); var folderUrl = UrlUtility.Combine(SelectedWeb.ServerRelativeUrl, Folder); #if ONPREMISES var folder = SelectedWeb.GetFolderByServerRelativeUrl(folderUrl); #else var folder = SelectedWeb.GetFolderByServerRelativePath(ResourcePath.FromDecodedUrl(folderUrl)); #endif folder.EnsureProperty(f => f.Properties); folder.Properties[Key] = Value; folder.Update(); ClientContext.ExecuteQueryRetry(); } }
protected override void ExecuteCmdlet() { if (ParameterSetName == "Web") { if (!Indexed) { // If it is already an indexed property we still have to add it back to the indexed properties Indexed = !string.IsNullOrEmpty(SelectedWeb.GetIndexedPropertyBagKeys().FirstOrDefault(k => k == Key)); } SelectedWeb.SetPropertyBagValue(Key, Value); if (Indexed) { SelectedWeb.AddIndexedPropertyBagKey(Key); } else { SelectedWeb.RemoveIndexedPropertyBagKey(Key); } } else { if (!SelectedWeb.IsPropertyAvailable("ServerRelativeUrl")) { ClientContext.Load(SelectedWeb, w => w.ServerRelativeUrl); ClientContext.ExecuteQueryRetry(); } var folderUrl = UrlUtility.Combine(SelectedWeb.ServerRelativeUrl, Folder); var folder = SelectedWeb.GetFolderByServerRelativeUrl(folderUrl); if (!folder.IsPropertyAvailable("Properties")) { ClientContext.Load(folder.Properties); ClientContext.ExecuteQueryRetry(); } folder.Properties[Key] = Value; folder.Update(); ClientContext.ExecuteQueryRetry(); } }