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