private void DeployManagedAccount(object modelHost, SPFarm farm, ManagedAccountDefinition managedAccountDefinition) { var currentAccount = GetManagedAccount(farm, managedAccountDefinition); var loginName = managedAccountDefinition.LoginName; var accounts = new SPFarmManagedAccountCollection(farm); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentAccount, ObjectType = typeof(SPManagedAccount), ObjectDefinition = managedAccountDefinition, ModelHost = modelHost }); if (currentAccount == null) { TraceService.Information((int)LogEventId.ModelProvisionProcessingNewObject, "Processing new managed account"); currentAccount = accounts.FindOrCreateAccount(loginName); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentAccount, ObjectType = typeof(SPManagedAccount), ObjectDefinition = managedAccountDefinition, ModelHost = modelHost }); currentAccount.Update(); } else { TraceService.Information((int)LogEventId.ModelProvisionProcessingExistingObject, "Processing existing managed account"); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentAccount, ObjectType = typeof(SPManagedAccount), ObjectDefinition = managedAccountDefinition, ModelHost = modelHost }); currentAccount.Update(); } }
protected SPManagedAccount GetManagedAccount(SPFarm farm, ManagedAccountDefinition managedAccountDefinition) { var loginName = managedAccountDefinition.LoginName; var accounts = new SPFarmManagedAccountCollection(farm); SPManagedAccount currentAccount = null; try { currentAccount = accounts[loginName]; } catch (Exception) { } return(currentAccount); }
public static ModelNode AddManagedAccount(this ModelNode model, ManagedAccountDefinition fielDefinition, Action <ModelNode> action) { return(model.AddDefinitionNode(fielDefinition, action)); }
public static ModelNode AddManagedAccount(this ModelNode siteModel, ManagedAccountDefinition definition) { return(AddManagedAccount(siteModel, definition, null)); }
public static TModelNode AddManagedAccount <TModelNode>(this TModelNode model, ManagedAccountDefinition definition, Action <ManagedAccountModelNode> action) where TModelNode : ModelNode, IFarmModelNode, new() { return(model.AddTypedDefinitionNode(definition, action)); }
public static TModelNode AddManagedAccount <TModelNode>(this TModelNode model, ManagedAccountDefinition definition) where TModelNode : ModelNode, IFarmModelNode, new() { return(AddManagedAccount(model, definition, null)); }