protected override void ExecuteCmdlet() { TaxonomyItem taxItem; Field field; if (ParameterSetName == "Path") { taxItem = ClientContext.Site.GetTaxonomyItemByPath(TermSetPath, TermPathDelimiter); } else { var taxSession = ClientContext.Site.GetTaxonomySession(); var termStore = taxSession.GetDefaultKeywordsTermStore(); try { taxItem = termStore.GetTermSet(TaxonomyItemId); } catch { try { taxItem = termStore.GetTerm(TaxonomyItemId); } catch { throw new Exception($"Taxonomy Item with Id {TaxonomyItemId} not found"); } } taxItem.EnsureProperty(t => t.Id); } if (Id == Guid.Empty) { Id = Guid.NewGuid(); } var fieldCI = new TaxonomyFieldCreationInformation() { Id = Id, InternalName = InternalName, DisplayName = DisplayName, Group = Group, TaxonomyItem = taxItem, MultiValue = MultiValue, Required = Required, AddToDefaultView = AddToDefaultView }; if (List != null) { var list = List.GetList(CurrentWeb); field = list.CreateTaxonomyField(fieldCI); } else { field = CurrentWeb.CreateTaxonomyField(fieldCI); } WriteObject(ClientContext.CastTo <TaxonomyField>(field)); }