Como editar el nombre del grupo de trabajo desde código C#

Iniciado por yesidtaz, 28 Mayo 2011, 19:43 PM

0 Miembros y 1 Visitante están viendo este tema.

yesidtaz

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...

madpitbull_99

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.



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

yesidtaz


Krähne

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ß.
Yo soy más sabio que este hombre; es posible que ninguno de los dos sepamos cosa que valga la pena, pero él cree que sabe algo, pese a no saberlo, mientras que yo, así como no sé nada, tampoco creo saberlo. Yo no tengo conciencia de saber nada.

seba123neo

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...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Krähne

@seba123neo: Cierto, leí mal el título del tema :P... la solución de madpitbull_99 es la correcta.

Disculpas por el error ;D.
Yo soy más sabio que este hombre; es posible que ninguno de los dos sepamos cosa que valga la pena, pero él cree que sabe algo, pese a no saberlo, mientras que yo, así como no sé nada, tampoco creo saberlo. Yo no tengo conciencia de saber nada.