umbenennen der computer programmgesteuert c# .net
Muss ich umbenennen von meinem computer über .net-Anwendung.
Ich habe versucht diesen code:
public static bool SetMachineName(string newName)
{
MessageBox.Show(String.Format("Setting Machine Name to '{0}'...", newName));
//Invoke WMI to populate the machine name
using (ManagementObject wmiObject = new ManagementObject(new ManagementPath(String.Format("Win32_ComputerSystem.Name='{0}'",System.Environment.MachineName))))
{
ManagementBaseObject inputArgs = wmiObject.GetMethodParameters("Rename");
inputArgs["Name"] = newName;
//Set the name
ManagementBaseObject outParams = wmiObject.InvokeMethod("Rename",inputArgs,null);
uint ret = (uint)(outParams.Properties["ReturnValue"].Value);
if (ret == 0)
{
//worked
return true;
}
else
{
//didn't work
return false;
}
}
}
aber es hat nicht funktioniert.
und ich habe versucht diese:
using System.Runtime.InteropServices;
[DllImport("kernel32.dll")]
static extern bool SetComputerName(string lpComputerName);
public static bool SetMachineName(string newName)
{
bool done = SetComputerName(newName);
if (done)
{
{ MessageBox.Show("Done"); return true; }
}
else
{ MessageBox.Show("Failed"); return false; }
}
aber auch nicht funktioniert hat.
- "Hat nicht funktioniert" bedeutet..... Fehler?
- Sie haben den computer neu starten, um wirklich spiegeln die Veränderungen? Oder bekommt man einige Fehler?
- Ändern des Computernamens über Drittanbieter-apps, wenn möglich, zu eine ganze Menge Probleme.
- der code funktioniert ohne Ausnahmen in der Sekunde Weg , aber nach dem Neustart den Namen nicht ändern.... in der ersten Weise der ret-Wert ist != 0 und ich bekomme false --> hat nicht funktioniert...
- wenn ich die benennen Sie den Namen des Computers in der zweiten Weise , spielt es keine Veränderung in den Eigenschaften der MyComuter , aber wenn ich die computer-Namen in .net , sehe ich den neuen Namen ein(name geändert...), wie kann es sein ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich versucht, alle Möglichkeiten, die ich gefunden habe, ändern computer-Namen und niemand arbeitet.....es muss nicht den Namen ändern...
die einzige Art, wie es funktionierte war, wenn ich chaged einige registry-Schlüssel, Werte , dies ist der code , ist es ok, dies zu tun?
und nach dem Neustart den Namen wechselt....
Aus der MSDN-Dokumentation von SetComputerName..
Haben Sie versucht, einen Neustart des Computers?
WMI-Objekte legt den Namen des Computers. Dann wird die registry verwendet, um zu überprüfen, ob der name festgelegt wurde. Da das System.Umwelt.MachineName nicht sofort auf den neuesten Stand.
Und 'hostname' - Befehl CMD.exe noch Ausgänge die alten Namen. So ein Neustart ist immer noch erforderlich. Aber mit der Registrierung prüfen Sie können sehen, wenn der name gesetzt wurde.
Hoffe, das hilft.
Programmatisch umbenennen eines Computers mit C#
Es ist ein langer Artikel, und ich bin mir nicht sicher, was genau das sein wird, direkt relevant ist, so dass ich nicht fügen Sie ein snippet