/// <summary> Rollbacks sfb action.</summary> /// <param name="action"> The action.</param> /// <param name="runspace"> The runspace.</param> private void RollbackAction(TransactionAction action, Runspace runspace) { HostedSolutionLog.LogInfo("Rollback action: {0}", action.ActionType); switch (action.ActionType) { case TransactionAction.TransactionActionTypes.SfBNewSipDomain: DeleteSipDomain(runspace, action.Id); break; case TransactionAction.TransactionActionTypes.SfBNewUser: DeleteUser(runspace, action.Id); break; case TransactionAction.TransactionActionTypes.SfBNewConferencingPolicy: DeleteConferencingPolicy(runspace, action.Id); break; case TransactionAction.TransactionActionTypes.SfBNewExternalAccessPolicy: DeleteExternalAccessPolicy(runspace, action.Id); break; case TransactionAction.TransactionActionTypes.SfBNewMobilityPolicy: DeleteMobilityPolicy(runspace, action.Id); break; } }
/// <summary>Opens PowerShell runspace.</summary> /// <returns>The runspace.</returns> private Runspace OpenRunspace() { HostedSolutionLog.LogStart("OpenRunspace"); if (runspaceConfiguration == null) { runspaceConfiguration = RunspaceConfiguration.Create(); PSSnapInException exception; runspaceConfiguration.AddPSSnapIn(SharepointSnapInName, out exception); HostedSolutionLog.LogInfo("Sharepoint snapin loaded"); if (exception != null) { HostedSolutionLog.LogWarning("SnapIn error", exception); } } Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); runspace.SessionStateProxy.SetVariable("ConfirmPreference", "none"); HostedSolutionLog.LogEnd("OpenRunspace"); return(runspace); }
public override void SetPeoplePickerOu(string site, string ou) { HostedSolutionLog.LogStart("SetPeoplePickerOu"); HostedSolutionLog.LogInfo(" Site: {0}", site); HostedSolutionLog.LogInfo(" OU: {0}", ou); Runspace runSpace = null; try { List <SharePointSiteCollection> siteCollections = new List <SharePointSiteCollection>(); runSpace = OpenRunspace(); Command cmd = new Command("Set-SPSite"); cmd.Parameters.Add("Identity", site); cmd.Parameters.Add("UserAccountDirectoryPath", ou); ExecuteShellCommand(runSpace, cmd); } finally { CloseRunspace(runSpace); } HostedSolutionLog.LogEnd("SetPeoplePickerOu"); }