deathsurfer
Messages postés35Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention28 juillet 2009
-
28 juin 2007 à 11:00
izords
Messages postés20Date d'inscriptionsamedi 27 avril 2002StatutMembreDernière intervention 4 mars 2013
-
28 juin 2007 à 18:21
Bonjour!
Alors voilà j'aurais aimé savoir si les commandes en asp.net existaient:
-celle qui correspond à net localgroups /add (/delete) etc.. (commande MSDOS)
-celle qui correspond à net user nomuser passwd + net localgroups nomgroupe nomuser /add (/delete)...
izords
Messages postés20Date d'inscriptionsamedi 27 avril 2002StatutMembreDernière intervention 4 mars 2013 28 juin 2007 à 15:33
Voici une facon de faire qui n'est pas nécessairement complète car tu peux aussi ajouter la gestion des erreurs et la gestion des output. Mais voici le code de base :
deathsurfer
Messages postés35Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention28 juillet 2009 28 juin 2007 à 16:26
Ok merci ça marche! Mais est-on obligé de passer par du shell ? N'existe-t-il pas un moyen de le faire avec une api par exemple? Ou un autre moyen?
D'avance merci à tous!
izords
Messages postés20Date d'inscriptionsamedi 27 avril 2002StatutMembreDernière intervention 4 mars 2013 28 juin 2007 à 18:21
Voici une classe qui te permet d'utiliser l'API Netapi32.dll
using System;
using System.Runtime.InteropServices;
namespace NetworkFunctions
{
public class NetworkAPI
{
#region LOCAL_GROUP_INFO_1 (Structure)
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct LOCALGROUP_INFO_1
{
[MarshalAs(UnmanagedType.LPWStr)] public string lgrpi1_name;
[MarshalAs(UnmanagedType.LPWStr)] public string lgrpi1_comment;
}
#endregion
#region LOCALGROUP_MEMBER_INFO_1 (Structure)
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct LOCALGROUP_MEMBERS_INFO_1
{
public int lgrmi1_sid;
public int lgrmi1_sidusage;
public string lgrmi1_name;
}
#endregion
#region NetLocalGroupAdd (API Call)
[DllImport("Netapi32.dll")]
public extern static int NetLocalGroupAdd([MarshalAs(UnmanagedType.LPWStr)] string servername, int level, ref LOCALGROUP_INFO_1 buf, int parm_err);
#endregion
#region NetLocalGroupDel(API Call)
[DllImport("Netapi32.dll")]
public extern static int NetLocalGroupDel([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string groupname);
#endregion
#region NetLocalGroupGetInfo (API Call)
[DllImport("Netapi32.dll")]
public extern static int NetLocalGroupGetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string groupname,int level,out IntPtr bufptr);
#endregion
[DllImport("Netapi32.dll")]
public extern static int NetLocalGroupSetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string groupname,int level,ref LOCALGROUP_INFO_1 buf,int parm_err);
[DllImport("Netapi32.dll")]
public extern static int NetLocalGroupEnum([MarshalAs(UnmanagedType.LPWStr)] string servername,int level,out IntPtr bufptr,int prefmaxlen,out int entriesread,out int totalentries,out int resumehandle);
[DllImport("Netapi32.dll")]
public extern static int NetApiBufferFree(IntPtr Buffer);
[DllImport("Netapi32.dll")]
public extern static int NetLocalGroupGetMembers([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string localgroupname,int level,out IntPtr bufptr,int prefmaxlen,out int entriesread,out int totalentries,out int resumehandle);