/// <summary> /// Creates a local group on the host. /// </summary> /// <param name="name"></param> /// <param name="description"></param> public NTLocalGroup CreateLocalGroup(string name, string description) { var error = 0; var newLocalGroup = new WinAPI.NETAPI32.LOCALGROUP_INFO_1(); newLocalGroup.lgrpi1_name = name; newLocalGroup.lgrpi1_comment = description; var result = WinAPI.NETAPI32.NetLocalGroupAdd(this.NTCompatibleHostName, 1, ref newLocalGroup, ref error); if (result != 0) { throw new NetApiException( result, "Unable to create local group '{0}' on host '{1}'", name, Host ); } NTLocalGroup localGroup = new NTLocalGroup(); localGroup.Host = Host; localGroup.Name = name; localGroup.Description = description; localGroup.Refresh(); return(localGroup); }
public override void Update() { var groupInfo = new WinAPI.NETAPI32.LOCALGROUP_INFO_1 { lgrpi1_name = this.Name, lgrpi1_comment = this.Description }; const int parmError = 0; var result = WinAPI.NETAPI32.NetLocalGroupSetInfo(this.NTCompatibleHostName, this.Name, 1, ref groupInfo, parmError); if (result != 0) { throw new NetApiException( result, "Unable to update group '{0}' on host '{1}'", Name, Host ); } }