Ejemplo n.º 1
0
int net_user(struct net_context *c, int argc, const char **argv)
{
	if (argc < 1)
		return net_user_usage(c, argc, argv);

	if (StrCaseCmp(argv[0], "HELP") == 0) {
		net_user_usage(c, argc, argv);
		return 0;
	}

	if (net_ads_check(c) == 0)
		return net_ads_user(c, argc, argv);

	/* if server is not specified, default to PDC? */
	if (net_rpc_check(c, NET_FLAGS_PDC))
		return net_rpc_user(c, argc, argv);

	return net_rap_user(c, argc, argv);
}
Ejemplo n.º 2
0
static int net_user_delete(struct net_context *ctx, int argc, const char **argv)
{
    NTSTATUS status;
    struct libnet_context *lnet_ctx;
    struct libnet_DeleteUser r;
    char *user_name;

    /* command line argument preparation */
    switch (argc) {
    case 0:
        return net_user_usage(ctx, argc, argv);
        break;
    case 1:
        user_name = talloc_strdup(ctx, argv[0]);
        break;
    default:
        return net_user_usage(ctx, argc, argv);
    }

    /* libnet context init and its params */
    lnet_ctx = libnet_context_init(ctx->event_ctx, ctx->lp_ctx);
    if (!lnet_ctx) return -1;

    lnet_ctx->cred = ctx->credentials;

    /* calling DeleteUser function */
    r.in.user_name       = user_name;
    r.in.domain_name     = cli_credentials_get_domain(lnet_ctx->cred);

    status = libnet_DeleteUser(lnet_ctx, ctx, &r);
    if (!NT_STATUS_IS_OK(status)) {
        DEBUG(0, ("Failed to delete user account: %s\n",
                  r.out.error_string));
        return -1;
    }

    talloc_free(lnet_ctx);
    return 0;
}
Ejemplo n.º 3
0
static int net_rap_user_usage(struct net_context *c, int argc, const char **argv)
{
	return net_user_usage(c, argc, argv);
}