Hostname "ersetzen"
Hallo!
Ich suche in C# eine Möglichkeit, wie ich den Computername ändere. Die Systeme heißen alle zB X0001W, X0002X....
Jetzt möchte ich mit einem Button, dann den Namen auf 0001w ändern.
Folgendes hab ich mal programmiert:
Computername auslesen
Prüft ob der Hostname ein X hat oder nicht --> Button aktiv/inaktiv
Was fehlt mir:
neuen Computername in das System (Registry) zu schreiben
Textfeld für einen alternativen Hostename einzutragen
Abfrage für einen Neustart nachdem der neue Computername gesetzt wurde
Ich weiß, es ist nicht die beste Art, aber es funktioniert zumindest. Nur wie schreibe ich jetzt den neuen Namen in die Registry, damit auch das System es geändert wird.
Hallo!
Ich suche in C# eine Möglichkeit, wie ich den Computername ändere. Die Systeme heißen alle zB X0001W, X0002X....
Jetzt möchte ich mit einem Button, dann den Namen auf 0001w ändern.
Folgendes hab ich mal programmiert:
Computername auslesen
Prüft ob der Hostname ein X hat oder nicht --> Button aktiv/inaktiv
Was fehlt mir:
neuen Computername in das System (Registry) zu schreiben
Textfeld für einen alternativen Hostename einzutragen
Abfrage für einen Neustart nachdem der neue Computername gesetzt wurde
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Management;
namespace Hostname
{
public partial class Form1 : Form
{
string hostname;
public Form1()
{
InitializeComponent();
Hostname();
if (CheckHostname(hostname))
{
button1.Enabled = false;
}
}
public void Hostname()
{
hostname = System.Net.Dns.GetHostName();
System.Net.IPHostEntry hostInfo = System.Net.Dns.GetHostEntry(hostname);
string IpAdresse = hostInfo.AddressList[0].ToString();
label1.Text = hostname;
}
private void HostnameTxtbox_TextChanged(object sender, EventArgs e)
{
HostnameTxtbox.Text = hostname;
}
private string Xremove(string hostname)
{
char[] MyChar = { 'X', 'x' };
string TrimString = hostname.TrimStart(MyChar);
hostname = TrimString;
return hostname;
}
private void button1_Click(object sender, EventArgs e)
{
string hostname = System.Net.Dns.GetHostName();
System.Net.IPHostEntry hostInfo = System.Net.Dns.GetHostEntry(hostname);
string IpAdresse = hostInfo.AddressList[0].ToString();
if (hostname.StartsWith("X") || hostname.StartsWith("x"))
{
hostname = Xremove(hostname);
}
MessageBox.Show(hostname);
}
}
}
Ich weiß, es ist nicht die beste Art, aber es funktioniert zumindest. Nur wie schreibe ich jetzt den neuen Namen in die Registry, damit auch das System es geändert wird.
Zuletzt bearbeitet: