Foro de elhacker.net

Programación => .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
  1. using System;
  2. using System.Management;
  3.  
  4. ManagementObject manage = new ManagementObject(string.Format("Win32_ComputerSystem.Name='{0}'", Environment.MachineName));
  5. object[] args = { "WorkgroupName", null, null, null };
  6. manage.InvokeMethod("JoinDomainOrWorkgroup", args);
  7.  

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
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
  1. using System.Runtime.InteropServices;
  2.  
  3. [DllImport("kernel32.dll")]
  4. static extern bool SetComputerName(string lpComputerName);
  5.  
  6. public static void Main()
  7. {
  8.    bool Editado = SetComputerName("NuevoNombreDeComputador");
  9.  
  10.    if (Editado)
  11.        Console.WriteLine("Se ha cambiado el nombre del computador, sin embargo los cambios tendran efecto despues del siguiente reinicio.");
  12.    else
  13.        Console.WriteLine("No se puede cambiar el nombre de computador, necesita permisos de administrador.");
  14. }

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
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
  1. using System.Runtime.InteropServices;
  2.  
  3. [DllImport("kernel32.dll")]
  4. static extern bool SetComputerName(string lpComputerName);
  5.  
  6. public static void Main()
  7. {
  8.    bool Editado = SetComputerName("NuevoNombreDeComputador");
  9.  
  10.    if (Editado)
  11.        Console.WriteLine("Se ha cambiado el nombre del computador, sin embargo los cambios tendran efecto despues del siguiente reinicio.");
  12.    else
  13.        Console.WriteLine("No se puede cambiar el nombre de computador, necesita permisos de administrador.");
  14. }

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.