From: Günther Deschner Date: Fri, 30 Nov 2007 19:20:18 +0000 (+0100) Subject: Add "net dom join" code. X-Git-Tag: samba-4.0.0alpha6~801^2~4289 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=4b60045066b80f4328fe7ea0e0a7e5d29b0a496b;p=samba.git Add "net dom join" code. Guenther (This used to be commit 177dab0ce31970c851531ffd2a6c5946e329a048) --- diff --git a/source3/utils/net_dom.c b/source3/utils/net_dom.c new file mode 100644 index 00000000000..a4f5d1dd031 --- /dev/null +++ b/source3/utils/net_dom.c @@ -0,0 +1,116 @@ +/* + Samba Unix/Linux SMB client library + net dom commands for remote join/unjoin + Copyright (C) 2007 Günther Deschner + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "includes.h" +#include "utils/net.h" +#include "lib/netapi/joindomain.h" + +static int net_dom_usage(int argc, const char **argv) +{ + d_printf("usage: net dom join " + " \n"); + + return -1; +} + +int net_help_dom(int argc, const char **argv) +{ + d_printf("net dom join"\ + "\n Join a remote machine\n"); + + return -1; +} + +static int net_dom_join(int argc, const char **argv) +{ + const char *server_name = NULL; + const char *domain_name = NULL; + const char *account_ou = NULL; + const char *Account = NULL; + const char *password = NULL; + uint32_t join_flags = WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE | + WKSSVC_JOIN_FLAGS_JOIN_TYPE; + bool reboot = false; + WERROR werr; + int i; + + if (argc < 1) { + return net_dom_usage(argc, argv); + } + + server_name = opt_host; + + if (opt_force) { + join_flags |= WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED; + } + + for (i=0; i