begin process at 2008 07 20 10:22:27
1 213 168 membres
87 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : MS DOS et asp.net [ Système / Autre ] (deathsurfer)

MS DOS et asp.net le 28/06/2007 11:00:17

deathsurfer
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)...
En tout cas merci de votre aide!

Re : MS DOS et asp.net le 28/06/2007 15:33:09

izords

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 :

protectedvoid Page_Load(object sender, EventArgs e)
{
   Shell(
"net", " localgroup groupetest /add");
}

privatevoid Shell(string Command, string Arguments)
{
   System.Diagnostics.
Process p = new System.Diagnostics.Process();
   p.StartInfo.FileName = Command;  
   p.StartInfo.CreateNoWindow =
true;
   p.StartInfo.UseShellExecute =
false;
   p.StartInfo.Arguments = Arguments;
   p.Start();
}


 


Re : MS DOS et asp.net le 28/06/2007 16:26:00

deathsurfer
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!

Re : MS DOS et asp.net le 28/06/2007 18:21:35

izords

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);
      
      public NetworkAPI()
      {}
   }
}


Exemple pour l'ajout d'un groupe

public void AddGroup()
{
   NetworkAPI.LOCALGROUP_INFO_1 NewGroup = new NetworkAPI.LOCALGROUP_INFO_1();
   NewGroup.lgrpi1_name = txtName.Text;
   NewGroup.lgrpi1_comment = txtComments.Text;
   if(NetworkAPI.NetLocalGroupAdd(null, 1, ref NewGroup, 0)==0)
   {
      //OK
   }
   else
   {
      //Erreur
   }
}



Classé sous : net, asp, ms, dos, correspond

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS