NetUserGetInfo NetUserAdd

[DllImport("Netapi32.dll")]
        extern static int NetUserGetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername, [MarshalAs(UnmanagedType.LPWStr)] string username, int level, out IntPtr bufptr);


        [DllImport("Netapi32.dll")]
        extern static int NetUserAdd([MarshalAs(UnmanagedType.LPWStr)] string servername, int level, ref USER_INFO_1 buf, int parm_err);
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct USER_INFO_1
        {
            public string usri1_name;
            public string usri1_password;
            public int usri1_password_age;
            public int usri1_priv;
            public string usri1_home_dir;
            public string comment;
            public int usri1_flags;
            public string usri1_script_path;
        }

 

        private void button1_Click(object sender, EventArgs e)
        {
            IntPtr bufPtr;
            USER_INFO_1 User = new USER_INFO_1();
            if (NetUserGetInfo(null, "Administrato", 1, out bufPtr) != 0)
            {
                // MessageBox.Show("Error Getting User Info","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
                return;
            }
            User = (USER_INFO_1)Marshal.PtrToStructure(bufPtr, typeof(USER_INFO_1));

        }

        private void button2_Click(object sender, EventArgs e)
        {
            USER_INFO_1 NewUser = new USER_INFO_1(); // Create an new instance of the USER_INFO_1 struct

            NewUser.usri1_name = "UserTestOne"; // Allocates the username
            NewUser.usri1_password = "password"; // allocates the password
            NewUser.usri1_priv = 1; // Sets the account type to USER_PRIV_USER
            NewUser.usri1_home_dir = null; // We didn’t supply a Home Directory
            NewUser.comment = ""; // Comment on the User
            NewUser.usri1_script_path = null; // We didn’t supply a Logon Script Path

            if (NetUserAdd(null, 1, ref NewUser, 0) != 0) // If the call fails we get a non-zero value
            {
                //MessageBox.Show("Error Adding User", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值