//Rename the computer and remove it from active directory
private void RenameComputer(Response response)
{
Log.Entry(Name, "Checking Hostname");
if (!response.IsFieldValid("#hostname"))
{
Log.Error(Name, "Hostname is not specified");
return;
}
if (Environment.MachineName.ToLower().Equals(response.GetField("#hostname").ToLower()))
{
Log.Entry(Name, "Hostname is correct");
return;
}
//First unjoin it from active directory
UnRegisterComputer(response);
if (Power.ShuttingDown || Power.Requested) return;
Log.Entry(Name, $"Renaming host to {response.GetField("#hostname")}");
try
{
_instance.RenameComputer(response.GetField("#hostname"));
}
catch (Exception ex)
{
Log.Error(Name, ex);
}
Power.Restart(Settings.Get("Company") + " needs to rename your computer", Power.ShutdownOptions.Delay);
}