You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#(.NET/.NET Core)在Google Active Directory指定OU创建新用户

使用C#控制台应用在Google Workspace目录中创建用户

前置准备

  • 在Google Cloud控制台启用Admin SDK Directory API
  • 创建服务账号并下载JSON格式的密钥文件
  • 登录Google Workspace管理员后台,给该服务账号授予域范围授权,并添加权限https://www.googleapis.com/auth/admin.directory.user(用于创建、修改用户)
  • 记录下你的Workspace域名(如yourdomain.com)和授权的管理员邮箱(如admin@yourdomain.com)

安装依赖包

在控制台项目中执行以下命令安装所需NuGet包:

dotnet add package Google.Apis.Admin.Directory.directory_v1
dotnet add package Google.Apis.Auth.OAuth2
dotnet add package Google.Apis.Core

完整代码示例

using Google.Apis.Admin.Directory.directory_v1;
using Google.Apis.Admin.Directory.directory_v1.Data;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using System;
using System.IO;

namespace GoogleAdUserCreator
{
    class Program
    {
        static void Main(string[] args)
        {
            // 替换为你的密钥文件路径
            string keyFilePath = @"C:\path\to\your-service-account-key.json";
            // 替换为你的Workspace管理员邮箱
            string adminEmail = "admin@yourdomain.com";
            // 替换为你的Workspace域名
            string domain = "yourdomain.com";

            // 加载服务账号凭据
            var credential = GoogleCredential.FromFile(keyFilePath)
                .CreateScoped(DirectoryService.Scope.AdminDirectoryUser)
                .CreateWithUser(adminEmail);

            // 初始化Directory服务
            var service = new DirectoryService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = "Google AD User Creator Console App"
            });

            // 创建新用户对象
            var newUser = new User
            {
                PrimaryEmail = "newuser@" + domain,
                Name = new UserName
                {
                    GivenName = "John",
                    FamilyName = "Doe"
                },
                Password = "TempPass123!", // 建议使用强随机密码,后续强制用户修改
                ChangePasswordAtNextLogin = true
            };

            try
            {
                // 调用API创建用户
                var request = service.Users.Insert(newUser);
                User createdUser = request.Execute();

                Console.WriteLine($"用户创建成功!邮箱:{createdUser.PrimaryEmail},用户ID:{createdUser.Id}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"创建用户失败:{ex.Message}");
            }
        }
    }
}

注意事项

  • 确保服务账号已获得正确的域范围授权,否则会抛出权限不足的错误
  • 密码必须符合Google Workspace的密码策略要求
  • 生产环境中不要硬编码密钥文件路径、管理员邮箱等敏感信息,建议使用环境变量或配置文件管理
  • 可以扩展代码添加更多用户属性,比如部门、电话等,参考User类的其他属性

内容的提问来源于stack exchange,提问作者Alex Hurtado Campuzano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:31:02