using Sitecore.Shell.Framework.Commands;
	using System;
	using Sitecore.Web.UI.Sheer;
	using System.IO;
	using Sitecore.SecurityModel;
	using System.Text;
	using Sitecore.Diagnostics;
	namespace SitecoreCustom.Web.Extensions.Commands
	{
	public class ExportSitecoreUsers : Command
	{
		string filepath = string.Empty;
		public override void Execute(CommandContext context)
		{
			try
			{
				CreateFile();
				if (!string.IsNullOrWhiteSpace(filepath))
					SheerResponse.Download(filepath);
			}
			catch (Exception ex)
			{
				Log.Error(ex.Message, ex);
				SheerResponse.Alert("Error Occurred: Please try again");
			}
		}
		/// 
		/// Create csv file with list of users.
		///           
		private void CreateFile()
		{
			string fileExtension = ".csv";
			string path = Sitecore.Configuration.Settings.DataFolder + "Export User";
			if (!Directory.Exists(path))
				Directory.CreateDirectory(path);
			string fileName = "Sitecore_User";
			fileName = fileName + "-" + DateTime.Now.ToString("MM-dd-yyyy_HH-mm-ss");
			filepath = path + @"\" + fileName + fileExtension;
			using (new SecurityDisabler())
			{
				var users = Sitecore.Security.Accounts.UserManager.GetUsers();
				StringBuilder records = new StringBuilder();
				records.Append(string.Format("{0},{1},{2},{3},{4},{5},{6},{7}",
														 "User Name",
														 "Domain",
														 "Fully Qualified Name",
														 "Full Name",
														 "Email",
														 "Comment",
														 "Language",
														 "Locked"));
				foreach (var user in users)
				{
					try
					{
						if (user != null)
						{
							records.Append(Environment.NewLine);
							records.Append(string.Format("{0},{1},{2},{3},{4},{5},{6},{7}",
													   user.LocalName,
													   user.Domain.Name,
													   user.DisplayName,
													   user.Profile.FullName,
													   user.Profile.Email,
													   user.Profile.Comment,
													   user.Profile.ClientLanguage,
													   user.Profile.State));
						}
					}
					catch (Exception ex)
					{
					    Log.Error(ex.Message, ex);
					}
				}
				using (var writer = new StreamWriter(filepath, false))
				{
					writer.WriteLine(records.ToString());
					writer.Close();
				}
			}
		}
	}
}
  
These custom code files can also be downloaded from here
 
       Recently, I have installed and setup Sitecore 9.3 on another machine. I faced similar/same kind of issues which I faced earlier. Thought, it would be helpful to the Sitecore Community if I capture and document them along with resolution steps I which took and be successful in settting up.   Here are few of them I could document them.   1. Failed to start service 'Sitecore Marketing Automation Engine - sitecore93xconnect.dev.local-MarketingAutomationService (sitecore93xconnect.dev.local-MarketingAutomationService)'.   Solution : This issue occurs because of non-self-signed certificates, hence please follow the below steps to resolve your issue. Execute below PowerShell script to find out if there are any non-self-signed certificates: 1. Open the PowerShell Console (Admin mode recommended) 2. Execute below command    Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject}  3. If it shows any results listing any  non-self-signed certificates...
 
Comments
Post a Comment