/// <summary> /// Creates a PowerShell script file (.ps1) in the users temporary folder to support PowerShell based on CSOM. /// </summary> /// <param name="tenant"></param> /// <returns></returns> public static string CreatePowerShellScript(TenantAuthentication tenant) { string tempPSFilePath = Path.Combine(Path.GetTempPath(), string.Format("SPCB_PowerShell_{0}", POWERSHELL_OPENTENANT_FILENAME)); if (File.Exists(tempPSFilePath)) { File.Delete(tempPSFilePath); } var assembly = System.Reflection.Assembly.GetExecutingAssembly(); var resourceName = assembly.GetManifestResourceNames().SingleOrDefault(s => s.Contains(POWERSHELL_OPENTENANT_FILENAME)); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) using (StreamReader reader = new StreamReader(stream)) { string powerShellScript = reader.ReadToEnd(); powerShellScript = ReplacePlaceHolder(powerShellScript, PLACEHOLDER_SCRIPT_LOCATION, tempPSFilePath); powerShellScript = ReplacePlaceHolders(tenant, powerShellScript); File.AppendAllText(tempPSFilePath, powerShellScript); } LogUtil.LogMessage("Created PowerShell script on location: {0}", tempPSFilePath); return(tempPSFilePath); }
public AddTenantForm(TenantAuthentication tenant) { InitializeComponent(); _tenant = tenant; InitializeForm(); }
/// <summary> /// Replace place holders within script. /// </summary> /// <param name="tenant">Tenant authentication data.</param> /// <param name="script">PowerShell script with place holders.</param> /// <returns>Returns PowerShell script without place holders.</returns> private static string ReplacePlaceHolders(TenantAuthentication tenant, string script) { script = ReplacePlaceHolder(script, PLACEHOLDER_CURRENT_DIRECTORY, Environment.CurrentDirectory); script = ReplacePlaceHolder(script, PLACEHOLDER_TENANT_URL, tenant.AdminUrl.ToString()); script = ReplacePlaceHolder(script, PLACEHOLDER_LOGIN_NAME, tenant.UserName); script = ReplacePlaceHolder(script, PLACEHOLDER_AUTHENTICATION, AUTHENTICATION_TENANT); script = ReplacePlaceHolder(script, PLACEHOLDER_CLIENT_SDK, HelpUtil.GetSDKDownloadTitle()); script = ReplacePlaceHolder(script, PLACEHOLDER_CLIENT_SDK_URL, HelpUtil.GetSDKDownloadUrl()); script = ReplacePlaceHolder(script, PLACEHOLDER_CLIENT_SDK_VERSION, HelpUtil.GetSDKMajorVersion()); return(script); }