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 ?
InformationsquelleAutor N.D | 2011-10-04
Schreibe einen Kommentar