Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: yesidtaz en 28 Mayo 2011, 19:43 PM

Título: Como editar el nombre del grupo de trabajo desde código C#
Publicado por: yesidtaz en 28 Mayo 2011, 19:43 PM
Estoy intentando hacer una aplicación q me permita obtener el nombre del grupo de trabajo y poder modificarlo sin mayor problema mediante el codigo, ya consulte mediante registro y no se puede, alguien q me colabores gracias...
Título: Re: Como editar el nombre del grupo de trabajo desde código C#
Publicado por: madpitbull_99 en 28 Mayo 2011, 20:37 PM
Este puede ser un ejemplo, creo que solo funciona en .NET 4:

Código (csharp) [Seleccionar]
using System;
using System.Management;

ManagementObject manage = new ManagementObject(string.Format("Win32_ComputerSystem.Name='{0}'", Environment.MachineName));
object[] args = { "WorkgroupName", null, null, null };
manage.InvokeMethod("JoinDomainOrWorkgroup", args);


Te dejo la lista entera de los métodos de la clase ManagementObject (http://msdn.microsoft.com/en-us/library/system.management.managementobject.aspx).
Título: Re: Como editar el nombre del grupo de trabajo desde código C#
Publicado por: yesidtaz en 28 Mayo 2011, 20:59 PM
Gracias voy a probar... y te cuento si me sirvio
Título: Re: Como editar el nombre del grupo de trabajo desde código C#
Publicado por: Krähne en 28 Mayo 2011, 21:57 PM
Cita de: yesidtaz en 28 Mayo 2011, 20:59 PM
Gracias voy a probar... y te cuento si me sirvio

No entiendo porqué hiciste la misma pregunta 2 veces si ya te la habían respondido, si es por lo que te dije que iba en .NET, no es tu culpa haber cometido el error 1 vez, es culpa de los moderadores no haberlo movido.

De todos modos, la manera más "ética" por decir así es la respuesta que te dió madpitbull_99, ya que... implementa las clases que .NET nos da, pero si bien la mía no es tan "no ética" :xD, y no requiere de .NET Framework 4.

Código (csharp) [Seleccionar]
using System.Runtime.InteropServices;

[DllImport("kernel32.dll")]
static extern bool SetComputerName(string lpComputerName);

public static void Main()
{
    bool Editado = SetComputerName("NuevoNombreDeComputador");

    if (Editado)
        Console.WriteLine("Se ha cambiado el nombre del computador, sin embargo los cambios tendran efecto despues del siguiente reinicio.");
    else
        Console.WriteLine("No se puede cambiar el nombre de computador, necesita permisos de administrador.");
}


Gruß.
Título: Re: Como editar el nombre del grupo de trabajo desde código C#
Publicado por: seba123neo en 29 Mayo 2011, 00:27 AM
Cita de: Krähne en 28 Mayo 2011, 21:57 PM
No entiendo porqué hiciste la misma pregunta 2 veces si ya te la habían respondido, si es por lo que te dije que iba en .NET, no es tu culpa haber cometido el error 1 vez, es culpa de los moderadores no haberlo movido.

De todos modos, la manera más "ética" por decir así es la respuesta que te dió madpitbull_99, ya que... implementa las clases que .NET nos da, pero si bien la mía no es tan "no ética" :xD, y no requiere de .NET Framework 4.

Código (csharp) [Seleccionar]
using System.Runtime.InteropServices;

[DllImport("kernel32.dll")]
static extern bool SetComputerName(string lpComputerName);

public static void Main()
{
    bool Editado = SetComputerName("NuevoNombreDeComputador");

    if (Editado)
        Console.WriteLine("Se ha cambiado el nombre del computador, sin embargo los cambios tendran efecto despues del siguiente reinicio.");
    else
        Console.WriteLine("No se puede cambiar el nombre de computador, necesita permisos de administrador.");
}


Gruß.

eso es para el nombre de la computadora, no para el grupo de trabajo...
Título: Re: Como editar el nombre del grupo de trabajo desde código C#
Publicado por: Krähne en 29 Mayo 2011, 01:28 AM
@seba123neo: Cierto, leí mal el título del tema :P... la solución de madpitbull_99 es la correcta.

Disculpas por el error ;D.