internal static extern int NetUserAdd()

in LinuxCommunicator/CredentialNativeMethods.cs [202:255]


        internal static extern int NetUserAdd(
             [MarshalAs(UnmanagedType.LPWStr)] string servername,
             UInt32 level,
             ref USER_INFO_1 userInfo,
             out UInt32 parm_err);


        [DllImport("Netapi32.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
        internal extern static int NetUserGetInfo(
            [MarshalAs(UnmanagedType.LPWStr)] string ServerName,
            [MarshalAs(UnmanagedType.LPWStr)] string UserName,
            int level,
            out IntPtr BufPtr);

        [DllImport("Netapi32.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
        internal extern static int NetUserSetInfo(
            [MarshalAs(UnmanagedType.LPWStr)] string ServerName,
            [MarshalAs(UnmanagedType.LPWStr)] string UserName,
            int level,
            IntPtr BufPtr,
            out UInt32 parm_err);

        [DllImport("netapi32.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall,
        SetLastError = true)]
        internal static extern uint NetUserChangePassword(
        [MarshalAs(UnmanagedType.LPWStr)] string domainname,
        [MarshalAs(UnmanagedType.LPWStr)] string username,
        IntPtr oldpassword,
        IntPtr newpassword
        );


        [DllImport("Netapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        internal extern static int NetUserDel(
            [MarshalAs(UnmanagedType.LPWStr)]string servername,
            [MarshalAs(UnmanagedType.LPWStr)] string username
        );

        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        internal struct USER_INFO_1
        {
            [MarshalAs(UnmanagedType.LPWStr)]
            public string sUsername;
            public IntPtr sPassword;
            public uint uiPasswordAge;
            public uint uiPriv;
            [MarshalAs(UnmanagedType.LPWStr)]
            public string sHome_Dir;
            [MarshalAs(UnmanagedType.LPWStr)]
            public string sComment;
            public uint uiFlags;
            [MarshalAs(UnmanagedType.LPWStr)]
            public string sScript_Path;
        }