internal static extern Int32 NetLocalGroupAddMembers( [MarshalAs(UnmanagedType.LPWStr)] string servername, [MarshalAs(UnmanagedType.LPWStr)] string localgroupname, int level, ref LOCALGROUP_MEMBERS_INFO_0 newMembers, int totalentries );
public void RemoveFromLocalGroup(string groupName) { var sidBytes = new byte[Sid.BinaryLength]; Sid.GetBinaryForm(sidBytes, 0); var info3 = new LOCALGROUP_MEMBERS_INFO_0 { pSID = Marshal.AllocHGlobal(sidBytes.Length) }; try { Marshal.Copy(sidBytes, 0, info3.pSID, sidBytes.Length); var result = NetLocalGroupDelMembers(null, groupName, 0, ref info3, 1); if (result == Win32ErrorCodes.NERR_Success || result == Win32ErrorCodes.MemberNotInAlias) { return; } throw new Win32Exception(result); } finally { Marshal.FreeHGlobal(info3.pSID); } }
private static extern int NetLocalGroupDelMembers( string servername, //server name string groupname, //group name UInt32 level, //info level ref LOCALGROUP_MEMBERS_INFO_0 buf, //Group info structure UInt32 totalentries //number of entries );
internal static extern NET_API_STATUS NetLocalGroupGetMembers( string servername, string localgroupname, int level, ref LOCALGROUP_MEMBERS_INFO_0 bufptr, int prefmaxlen, ref int entriesread, ref int totalentries, ref IntPtr resumehandle);
internal static extern NetUserRetEnum NetLocalGroupAddMembers( string Servername, string Groupname, uint Level, ref LOCALGROUP_MEMBERS_INFO_0 Buf, uint Totalentries);
internal static extern NetUserRetEnum NetLocalGroupAddMembers( string Servername, string Groupname, uint Level, ref LOCALGROUP_MEMBERS_INFO_0 Buf, uint Totalentries);
public static extern NET_API_STATUS NetLocalGroupDelMembers([MarshalAs(UnmanagedType.LPWStr)] string psServer, [MarshalAs(UnmanagedType.LPWStr)] string psLocalGroup, int lLevel, ref LOCALGROUP_MEMBERS_INFO_0 uMember, int lMemberCount);