1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
samba-mirror/source3/librpc/gen_ndr/libnet_join.h
Jim McDonough 7930f15f5d Don't require "Modify property" perms to unjoin bug #6481)
"net ads leave" stopped working when "modify properties"
permissions were not granted (meaning you had to be allowed
to disable the account that you were about to delete).

Libnetapi should not delete machine accounts, as this does not
happen on win32.  The WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE flag
really means "disable" (both in practice and docs).

However, to keep the functionality in "net ads leave", we
will still try to do the delete.  If this fails, we try
to do the disable.

Additionally, it is possible in windows to not disable or
delete the account, but just tell the local machine that it
is no longer in the account.  libnet can now do this as well.
2009-06-19 13:46:07 -04:00

84 lines
1.9 KiB
C

/* header auto-generated by pidl */
#include <stdint.h>
#include "libcli/util/ntstatus.h"
#include "librpc/gen_ndr/wkssvc.h"
#include "librpc/gen_ndr/security.h"
#ifndef _HEADER_libnetjoin
#define _HEADER_libnetjoin
struct libnet_JoinCtx {
struct {
const char * dc_name;
const char * machine_name;
const char * domain_name;/* [ref] */
const char * account_ou;
const char * admin_account;
const char * admin_password;
const char * machine_password;
uint32_t join_flags;
const char * os_version;
const char * os_name;
uint8_t create_upn;
const char * upn;
uint8_t modify_config;
struct ads_struct *ads;/* [ref] */
uint8_t debug;
uint8_t use_kerberos;
enum netr_SchannelType secure_channel_type;
struct messaging_context *msg_ctx;/* [noprint,ref] */
} in;
struct {
const char * account_name;
const char * netbios_domain_name;
const char * dns_domain_name;
const char * forest_name;
const char * dn;
struct dom_sid *domain_sid;/* [ref] */
uint8_t modified_config;
const char * error_string;
uint8_t domain_is_ad;
WERROR result;
} out;
};
struct libnet_UnjoinCtx {
struct {
const char * dc_name;
const char * machine_name;
const char * domain_name;
const char * account_ou;
const char * admin_account;
const char * admin_password;
const char * machine_password;
uint32_t unjoin_flags;
uint8_t delete_machine_account;
uint8_t modify_config;
struct dom_sid *domain_sid;/* [ref] */
struct ads_struct *ads;/* [ref] */
uint8_t debug;
uint8_t use_kerberos;
struct messaging_context *msg_ctx;/* [noprint,ref] */
} in;
struct {
const char * netbios_domain_name;
const char * dns_domain_name;
const char * forest_name;
uint8_t modified_config;
const char * error_string;
uint8_t disabled_machine_account;
uint8_t deleted_machine_account;
WERROR result;
} out;
};
#endif /* _HEADER_libnetjoin */