CaptainQwerty.ActiveDirectoryEasyAPI 1.0.0

dotnet add package CaptainQwerty.ActiveDirectoryEasyAPI --version 1.0.0                
NuGet\Install-Package CaptainQwerty.ActiveDirectoryEasyAPI -Version 1.0.0                
该命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的安装包 (Install-Package) 版本。
<PackageReference Include="CaptainQwerty.ActiveDirectoryEasyAPI" Version="1.0.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add CaptainQwerty.ActiveDirectoryEasyAPI --version 1.0.0                
#r "nuget: CaptainQwerty.ActiveDirectoryEasyAPI, 1.0.0"                
#r 指令可用于 F# Interactive 和多语言笔记本。将其复制到交互式工具或脚本的源代码中以引用包。
// Install CaptainQwerty.ActiveDirectoryEasyAPI as a Cake Addin
#addin nuget:?package=CaptainQwerty.ActiveDirectoryEasyAPI&version=1.0.0

// Install CaptainQwerty.ActiveDirectoryEasyAPI as a Cake Tool
#tool nuget:?package=CaptainQwerty.ActiveDirectoryEasyAPI&version=1.0.0                

ActiveDirectoryTools

此库提供了用于 Active Directory 的快速可用的方法,其中包括用于管理账户、组和审核任务的工具。API 只能在从具有执行所需任务的权限的账户运行执行 API 的脚本/程序时执行这些任务。

README 还远未完成... 目前只是笔记...

功能

审核任务设置和使用

创建 AuditTasks 类的实例。

var auditTasks = new AuditTasks();

DoesOrganisationalUnitExist(string organisationalUnit)

使用此方法并提供组织单位的不同名称,将返回一个布尔值,表示是否存在。

var ouExists = auditTasks.DoesOrganisationalUnitExist("OU=Test Ou,DC=gen2training,DC=co,DC=uk");
Console.WriteLine($"OU Exists: {ouExists}")

// If the Ou exists it will return true, if not it will return false.

GetAllLockedOutAccounts()

返回每个锁定账户的用户账户对象。

var lockedOutAccounts = auditTasks.GetAllLockedOutAccounts();

foreach (var lockedAccount in lockedOutAccounts)
{
    Console.WriteLine(lockedAccount.Username);
}

用户账户任务

创建 UserAccountTasks 类的实例。

var userAccountTasks = new UserAccountTasks();

GetUserAccountDetails(string username)

对于提供的用户名,如果找到了账户,则根据账户信息返回一个已填充值的 UserAccount 模型。

var user = userAccountTasks.GetUserAccountDetails("antony.bragg");

Console.WriteLine($"{user.FirstName} {user.LastName}'s locked out status is: {user.LockedOut}");

// Result: "Antony Bragg's locked out statis is: False"

UnlockAccount(string username)

提供的账户将被解锁。

userAccountTasks.UnlockAccount("antony.bragg");

SetUsersPassword(string username, string password) 或 SetUsersPassword(string username, string password, bool expireNow)

提供用户名和新的密码将重置用户密码。如果没有提供布尔值作为第三个属性,则账户密码不会立即过期,如果提供了true,则账户密码将被重置和过期,强制要求用户在登录时设置新密码。

userAccountTasks.SetUsersPassword("antony.bragg", "DemoPassword123"); // Resets password
userAccountTasks.SetUsersPassword("antony.bragg", "DemoPassword123", true); // Resets password and expires password

MoveToOrganisationalUnit(string username, string newOrganisationalUnit)

如果提供的用户账户存在,则将其移动到指定的组织单位。需要组织单位的唯一名称。

userAccountTasks.MoveToOrganisationalUnit("antony.bragg", "OU=Disabled Accounts,DC=gen2training,DC=co,DC=uk");

GetLastLogOn(string username)

目前不建议使用。

GetThumbnailPhoto(string username)

以字节格式返回用户的缩略照片。在软件的下一个版本中,这将以多种格式导出。

var photo = userAccountTasks.GetThumbnailPhoto("antony.bragg");

用户组任务

创建GroupAccountTasks类的实例。

var groupAccountTasks = new GroupAccountTasks();

RemoveUserFromGroup(string username, string groupName)

groupAccountTasks.RemoveUserFromGroup("antony.bragg", "Domain Admins");

AddUsertoGroup(string username, string groupName)

groupAccountTasks.AddUsertoGroup("antony.bragg", "Domain Admins");

GetGroupMembers(string groupName)

var membersOfGroup = groupAccountTasks.GetGroupMembers("Domain Admins");

foreach (var user in membersOfGroup)
{
    Console.WriteLine($"{user.FirstName} {user.LastName}");
}

GetGroupDetails(string groupName)

var group = groupAccountTasks.GetGroupDetails("Domain Admins");
            
Console.WriteLine(group.Name);
Console.WriteLine(group.Description);
foreach (var user in group.GroupMembers)
{
                Console.WriteLine($"{user.Username}");
}

先决条件

.NET 3.5 或更高版本

安装

从NuGet安装 - NuGet上的包

PM> Install-Package CaptainQwerty.ActiveDirectoryEasyAPI -Version 1.0.0

作者

鸣谢

产品 兼容和额外的计算目标框架版本。
.NET Framework net461 是兼容的。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET 标准

此包没有依赖项。

NuGet 包

此包没有被任何 NuGet 包使用。

GitHub 仓库

此包没有被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
1.0.0 932 11/3/2018

初始版本。