CaptainQwerty.ActiveDirectoryEasyAPI 1.0.0
dotnet add package CaptainQwerty.ActiveDirectoryEasyAPI --version 1.0.0
NuGet\Install-Package CaptainQwerty.ActiveDirectoryEasyAPI -Version 1.0.0
<PackageReference Include="CaptainQwerty.ActiveDirectoryEasyAPI" Version="1.0.0" />
paket add CaptainQwerty.ActiveDirectoryEasyAPI --version 1.0.0
#r "nuget: CaptainQwerty.ActiveDirectoryEasyAPI, 1.0.0"
// 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}");
}
先决条件
安装
从NuGet安装 - NuGet上的包
PM> Install-Package CaptainQwerty.ActiveDirectoryEasyAPI -Version 1.0.0
作者
- captainqwerty - 初始工作
鸣谢
- 图标由 Freepik 制作,来源为 www.flaticon.com,并授权为 CC 3.0 BY
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET Framework | net461 是兼容的。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
此包没有依赖项。
NuGet 包
此包没有被任何 NuGet 包使用。
GitHub 仓库
此包没有被任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
1.0.0 | 932 | 11/3/2018 |
初始版本。