示例#1
0
        /// <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);
        }
示例#2
0
        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
                          );
            }
        }